0

下面是我的 JavaScript 用于检测我是否在页面末尾,但是当我在 Internet Explorer 或 safari 中运行它时它会被触发两次,而相同的脚本在 Firefox 和 chrome 中运行良好。我无法弄清楚它可能出了什么问题?

$(window).scroll(function() {
     if ($(window).scrollTop() + $(window).height() == $(document).height()){ 
         somefunctionCall();
     } 
});
4

2 回答 2

1

在 Internet Explorer 中,滚动事件可以在滚动时多次触发。您可以使用 debounce(underscoreJs 或 jQuery)来确保不会频繁触发事件。

例子:

$(window).scroll(jQuery.debounce(100, function() {
     if ($(window).scrollTop() + $(window).height() == $(document).height()){ 
         functionCall(); 
     } 
}));
于 2013-07-24T13:42:06.027 回答
0

不鼓励使用滚动事件。见:http ://ejohn.org/blog/learning-from-twitter/

于 2013-07-24T13:41:31.167 回答