2015-06-30 56 views
0

我有一个<div>overflow: scroll;的应用,我想检测它的滚动时间,并触发它的剩余总高度的5%。检测一个可滚动的DIV是否已经达到底部

JSBin - 目前我无法在触碰到页面底部时触发。

<div style="height:50%;overflow:scroll;"> 
    <b style="height:5000px;display:block;"></b> 
</div> 


$('div').on('scroll', function(){ 

    if($(window).scrollTop() + $('div').height() == $('div').height()) { 
    console.log("bottom of page"); 
    } 

}); 
+0

我想你想要scrollTop-div.height,而不是加号。当添加到div.height,它不会永远== div.height ... – dandavis

+0

http://jsbin.com/vutebotowo/1/edit?html,js,console,output – dandavis

回答

1

窗口在您的示例中不可滚动,div为。这导致div是检查scrollTop()函数时要查找的元素。此外,这里的总和大于你的b元素(你需要检查)并且不相等。所以更改行如下代码执行如您所料:

$('div').on('scroll', function(){ 
    if($("div").scrollTop() + $('div').height() > $('b').height()) { 
     console.log("bottom of page"); 
    } 
});