下面是我的JavaScript,用于检测我是否在页面的末尾,但是当我在Internet Explorer或safari中运行它时,它会被触发两次,而相同的脚本在firefox和chrome中运行正常。我无法弄清楚它可能出错的地方?
$(window).scroll(function() {
if ($(window).scrollTop() + $(window).height() == $(document).height()){
somefunctionCall();
}
});
答案 0 :(得分:1)
在Internet Explorer中,滚动时可以多次触发滚动事件。 你可以使用debounce(underscoreJs或jQuery)来确保事件不会经常被触发。
示例:
$(window).scroll(jQuery.debounce(100, function() {
if ($(window).scrollTop() + $(window).height() == $(document).height()){
functionCall();
}
}));
答案 1 :(得分:0)
不鼓励使用滚动事件。请参阅:http://ejohn.org/blog/learning-from-twitter/