我有一个包含jQuery滚动效果的页面。
滚动的元素包含在overflow="hidden"
的元素中。
一旦将portlet滚动到用户的视图,我需要激活一些Javascript代码,并在隐藏portlet时运行其他Javascript代码。我目前无法控制滚动按钮,所以我有这样的想法:检查(定期,使用window.setTimeout
)用户是否可以查看portlet。显然,测试visible="block"
无济于事。
你有什么想法吗?
谢谢
答案 0 :(得分:4)
查看容器的.scrollHeight属性。它会告诉你滚动位置。然后将其与您正在检测的元素的偏移高度进行比较。
答案 1 :(得分:1)
我必须通过jQuery将元素的offset().left
与容器的offset().left()
和offset().left + width()
值进行比较。
我假设所有元素的大小都是为了完全可见或不可见(所以我只需要检查左角)和在我的情况下滚动只是水平的,所以不需要检查顶部和高度
答案 2 :(得分:1)
最近我为此写了一个非常小的插件:
在这里发布有意义的代码示例会有点困难,所以我建议您查看演示。
在元素上运行它,提供一个包装元素,一个对象就是 回。对象将具有顶部,底部,左侧的数值 如果元素已经滚动到包装上,那就正确了 各个边用来表示该元素离开的像素数 在那一边看。
我想我会在这里发帖,这样任何从搜索登陆的人都可以找到这个插件,也许可以节省一些时间。