检测HTML元素是否滚动超出隐藏溢出

时间:2011-03-22 14:16:53

标签: javascript jquery html

我有一个包含jQuery滚动效果的页面。

滚动的元素包含在overflow="hidden"的元素中。

一旦将portlet滚动到用户的视图,我需要激活一些Javascript代码,并在隐藏portlet时运行其他Javascript代码。我目前无法控制滚动按钮,所以我有这样的想法:检查(定期,使用window.setTimeout)用户是否可以查看portlet。显然,测试visible="block"无济于事。

你有什么想法吗?

谢谢

3 个答案:

答案 0 :(得分:4)

查看容器的.scrollHeight属性。它会告诉你滚动位置。然后将其与您正在检测的元素的偏移高度进行比较。

答案 1 :(得分:1)

我必须通过jQuery将元素的offset().left与容器的offset().left()offset().left + width()值进行比较。

我假设所有元素的大小都是为了完全可见或不可见(所以我只需要检查左角)在我的情况下滚动只是水平的,所以不需要检查顶部和高度

答案 2 :(得分:1)

最近我为此写了一个非常小的插件:

jQuery Scrolled Out Of View

在这里发布有意义的代码示例会有点困难,所以我建议您查看演示。

  

在元素上运行它,提供一个包装元素,一个对象就是   回。对象将具有顶部,底部,左侧的数值   如果元素已经滚动到包装上,那就正确了   各个边用来表示该元素离开的像素数   在那一边看。

我想我会在这里发帖,这样任何从搜索登陆的人都可以找到这个插件,也许可以节省一些时间。