我想在用户滚动网页时加载更多内容。我尝试使用
onScroll事件javascript被多次调用
jQuery .scroll()方法,也称为多次。
我该如何处理?这是一个浏览器问题吗?
注意:我在HTML的正文标记上调用onScroll = "function()"
。
答案 0 :(得分:1)
在每个滚动上,将调用任何滚动方法
因此,您应该检查用户何时滚动到底部,然后加载更多内容。
答案 1 :(得分:0)
答案 2 :(得分:0)
如果您在窗口移动时收到一系列事件(类似于调整大小事件时发生的事件),那么一个技巧是在第一个滚动事件上设置一个1-2秒的计时器,但不做任何事情然而。如果在计时器触发之前有后续滚动事件,则停止上一个计时器并设置一个新计时器。当用户停止滚动一小段时间时,计时器将会触发,然后您可以处理滚动事件。如果他们滚动更多,整个过程将重复。
jQuery伪代码示例:
var scrollTimer = null;
$("#target").scroll(function(){
if (scrollTimer) {
clearTimeout(scrollTimer); // clear previous timer
}
// set timer while we wait for a pause in scroll events
scrollTimer = setTimeout(function() {
scrollTimer = null; // timer done here
// do your dynamic loading here
}, 1000);
});