jquery检测用户过早地滚动到底部发射

时间:2013-07-12 13:52:53

标签: jquery scroll

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

我现在使用的代码是stackoverflow.com/questions/3898130/

在接受的答案中有两个版本,第一个实际上根本没有。

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

$(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中也会出现相同的行为。

谢谢!

1 个答案:

答案 0 :(得分:1)

通过输入第一行确保您的html设置了DOCTYPE:

<!DOCTYPE html>

价: Jquery $(window).height() function does not return actual window height