为了在Facebook或Twitter上加载页面,向下滚动,我用jquery尝试了这个:
$(window).scroll(function(){
if ($(window).scrollTop() == $(document).height() - $(window).height()){
//do something
}
}
我遇到了Firefox问题。不适用于Chrome和Safari(IE尚未测试)。
如果我在IF中使用“alert('xx')”,Firefox会崩溃,我必须重新启动它。
我正在使用Mac版的Firefox,但我想这不是一个重要的事实。
任何人都知道这里发生了什么? 感谢。
答案 0 :(得分:6)
我有同样的问题:它适用于chrome但不适用于Firefox和IE。经过调试后,我发现firefox中的$(document).height() - $(window).height()和$(window).scrollTop()之间存在1 px的差异,但不是chrome。我的工作解决方案在这里:
if ($(window).scrollTop() + 1 >= $(document).height() - $(window).height()){
//do something here
}
答案 1 :(得分:1)
scroll
事件触发了很多次,导致Firefox浏览器崩溃。不使用alert()
,而是使用console.log()
...
以下示例显示了触发了多少事件:http://jsfiddle.net/jasper/tQmRU/
答案 2 :(得分:0)
我遇到了类似的问题,因为我在一个滚动处理程序中放了一个Firebug断点,而不是alert()
。我改为使用console.log()
进行调试,但这并没有导致崩溃。
答案 3 :(得分:0)
我知道这是一篇非常古老的文章,但是我今天在为此苦苦挣扎。当它进入视口时,我正在尝试启动一个计数器。我在style.css中添加了一些样式后,它停止工作。
html {
scroll-behaviour: smooth
}
所以,这可能对您有利,添加它会导致$(window).scroll函数停止在Firefox和IE上运行。