javascript - 使用 jQuery 检测用户何时滚动到 div 的底部

标签 javascript jquery

我有一个 div 框(称为 flux),里面的内容是可变的。 此 divbox 已将溢出设置为自动。

现在,我想做的是,当使用滚动到这个 DIV 框的底部时,将更多内容加载到页面中,我知道如何执行此操作(加载内容)但我不知道知道如何检测用户何时滚动到 div 标签的底部吗? 如果我想对整个页面执行此操作,我会使用 .scrollTop 并从 .height 中减去它。

但我这里好像做不到?

我尝试从 flux 获取 .scrollTop,然后将所有内容包装在一个名为 inner 的 div 中,但是如果我获取 flux 的 innerHeight,它返回 564px(div 设置为 500 作为高度)和'innner' 它返回 1064,当位于 div 底部时,scrolltop 返回 564。

我能做什么?

最佳答案

您可以使用一些属性/方法:

$().scrollTop()//how much has been scrolled
$().innerHeight()// inner height of the element
DOMElement.scrollHeight//height of the content of the element

所以你可以取前两个属性的总和,当它等于最后一个属性时,你就到达了终点:

jQuery(function($) {
    $('#flux').on('scroll', function() {
        if($(this).scrollTop() + $(this).innerHeight() >= $(this)[0].scrollHeight) {
            alert('end reached');
        }
    })
});

http://jsfiddle.net/doktormolle/w7X9N/

编辑:我已将“绑定(bind)”更新为“开启”,如下所示:

As of jQuery 1.7, the .on() method is the preferred method for attaching event handlers to a document.

关于javascript - 使用 jQuery 检测用户何时滚动到 div 的底部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33903149/

相关文章:

javascript - 将 Javascript 函数应用于多个按钮?

javascript - 以百分比给出省略号

javascript - 删除特定的 jquery 效果

javascript - 如何使复选框默认选中?

jquery - 使用 CSS 和/或 jQuery 动画化一个 div 以显示绝对定位的内容

javascript - 如何获取documentFragment中的子节点?

javascript在函数内存储设置变量

javascript - Node JS : Promise resolve value is "undefined"

javascript - keyup 在 IE 8 中不起作用

javascript - 无法让 onclick $(this).addClass 工作