正在检测可滚动DIV是否已到达底部

Detecting if a scrollable DIV has reached the bottom

本文关键字:底部 是否 DIV 检测 滚动      更新时间:2023-09-26

我有一个应用了overflow: scroll;<div>,我想在它滚动时检测它,并在它达到其剩余总高度的5%时触发它。

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");
  }
});

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

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