2015-06-30 84 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"); 
    } 
});