有没有办法告诉该页面滚动了某个div?

时间:2014-03-03 07:21:48

标签: javascript jquery html css

我想知道是否有办法判断页面是否滚动了某个div。我试图改变div在页面上某个点之后的颜色。我知道我可以使用scrolltotop方法来完成这项工作:

if($(window).scrollTop() > 0){
//code
}

虽然我想知道我是否必须在页面上获取div高度然后从那里开始,或者是否有内置方法来检查div是否已滚动到?

2 个答案:

答案 0 :(得分:2)

你可以做的是获取scrollTop和innerHeight的总和,当它等于scrollHeight时,你已经达到了div.something的结尾:

$('divselector').bind('scroll', function()                              {
                            if($(this).scrollTop() + $(this).innerHeight()>=$(this)[0].scrollHeight)
                            {
                              alert('End of div');
                            }
                          })

<强> Demo

答案 1 :(得分:1)

可能是这样的

在变量divHeight

中获取div的滚动高度

检查当前Window.ScrollTop > divHeight是否大于此变量

应用chnage