0

我需要检测用户何时滚动到我的页面底部。所以我搜索了一下,发现了很多帮助,答案基本相同,只是可能略有不同。我基本上尝试了所有我能找到的不同版本,但它们都表现出相同的行为。它不是等待我滚动到页面底部(实际上是滚动条一直到底部),而是在我滚动一点点时触发。所以我的滚动条只会移动一厘米或更少,并且事件会触发。

我现在使用的代码来自这里stackoverflow.com/questions/3898130/

那里接受的答案有两个版本,第一个实际上根本没有触发。

$(window).scroll(function () {
    if($(window).scrollTop() + $(window).height() == $(document).height()) {         
        //do stuff
    }
})

但是,如果我将其更改为第二个版本(即使将偏移量设置为 0),它也会触发,但它触发得太早了。在用户实际滚动到底部之前。

$(window).scroll(function() {
   if($(window).scrollTop() + $(window).height() > $(document).height() - 100) {
       //do stuff
   }
});

现在这不是一个大问题,我想我可以忍受它,但这真的很烦人。有谁知道我可能做错了什么?我在 Chrome 中进行测试,但在 Firefox 中表现出相同的行为。

谢谢!

4

1 回答 1

1

通过制作第一行,确保您的 html 设置了 DOCTYPE:

<!DOCTYPE html>

参考: Jquery $(window).height() 函数不返回实际窗口高度

于 2013-07-12T14:08:31.933 回答