jquery检测用户滚动到底部触发太早
我需要检测用户何时滚动到我的页面底部。所以我四处搜索,找到了很多帮助,答案基本相同,只是可能略有不同。我已经尝试了所有我能找到的不同版本,但它们都表现出相同的行为。它不是等待我滚动到页面底部(实际上滚动条一直到底部),而是在我滚动一点点时触发。所以我的滚动条只移动了一厘米或更少,事件就会触发 我现在使用的代码就是从这里开始的 在被接受的答案中有两个版本,第一个版本实际上根本没有开火。jquery检测用户滚动到底部触发太早,jquery,scroll,Jquery,Scroll,我需要检测用户何时滚动到我的页面底部。所以我四处搜索,找到了很多帮助,答案基本相同,只是可能略有不同。我已经尝试了所有我能找到的不同版本,但它们都表现出相同的行为。它不是等待我滚动到页面底部(实际上滚动条一直到底部),而是在我滚动一点点时触发。所以我的滚动条只移动了一厘米或更少,事件就会触发 我现在使用的代码就是从这里开始的 在被接受的答案中有两个版本,第一个版本实际上根本没有开火。 但是,如果我将其更改为第二个版本(甚至将偏移量设置为0),它将启动,但启动太早。在用户实际滚动到底部之前
但是,如果我将其更改为第二个版本(甚至将偏移量设置为0),它将启动,但启动太早。在用户实际滚动到底部之前
$(window).scroll(function() {
if($(window).scrollTop() + $(window).height() > $(document).height() - 100) {
//do stuff
}
});
现在这不是一个大问题,我想我可以接受,但这真的很烦人。有人知道我可能做错了什么吗?我正在用Chrome进行测试,但Firefox也展示了同样的行为
谢谢 通过设置第一行,确保您的html具有DOCTYPE设置:
<!DOCTYPE html>
参考:
这个jsFiddle(关于你前面的问题)是有效的:你说得对,它确实有效。然而,我只是复制粘贴到我的代码,它提醒我说,“底部”每次我滚动。不仅仅是在底层。我不知道为什么。也许您可以尝试检查/提醒
$(windows).scrollTop()
,$(windows).height()
和$(document).height()的值?可能有一个返回零?似乎window.height和document.height总是相同的。如下所示:scrollTop:49窗口高度:680文档高度:680 scrollTop:149窗口高度:2739文档高度:2739您似乎是对的!我曾经有过,这一切都搞砸了。但现在一切都解决了!谢谢
<!DOCTYPE html>