确定何时使用 Javascript 滚动到页面底部

IT技术 javascript pagination
2021-03-18 19:30:46

我正在尝试确定何时滚动到页面底部(不使用任何 JS 库),但到目前为止,我对使用以下哪一个感到有些困惑。我见过的最有希望的是window.scrollY,但即使滚动到页面底部,它也永远不会匹配 的值window.innerHeight做到这一点的最佳方法是什么?

window.innerWidth
window.innerHeight

window.outerWidth
window.outerHeight

window.scrollX
window.scrollY

document.body.scrollWidth
document.body.scrollHeight
document.body.scrollTop
document.body.scrollLeft

document.body.offsetTop
document.body.offsetLeft
document.body.offsetWidth
document.body.offsetHeight
3个回答

window.innerHeight+document.body.scrollTop大于或等于document.body.offsetHeight然后你在底部

但由于 IE 对这些属性有问题,您需要使用替代属性,例如

document.documentElement.scrollTop对于滚动和document.documentElement.clientHeight窗口高度

完整代码:http : //jsbin.com/egegu3/6/edit

作为一个内心懒惰的人,我会将一个元素放在 DIV 的最底部,并在其上应用“视图中的元素”jQuery 插件。(免责声明:我没有自己的经验,但它看起来不错。)

博客条目中的示例略有不同:

$('#bottomDIV').bind('inview', function (event, visible) {
  if (visible == true) {
    // element is now visible in the viewport
    highlightButtons(); // or whatever you want to do in the context
  }
});

这工作正常:

 window.onscroll = function()
 {
    var scrollHeight, totalHeight;
    scrollHeight = document.body.scrollHeight;
    totalHeight = window.scrollY + window.innerHeight;

    if(totalHeight >= scrollHeight)
    {
        console.log("at the bottom");
    }
}