多次调用onScroll事件

onScroll event called multiple times

本文关键字:事件 onScroll 调用      更新时间:2023-09-26

我想在用户滚动网页时加载更多内容。我试着用

  1. onScroll事件javascript被多次调用

  2. jQuery .scroll()方法,也被多次调用。

我该如何处理?是浏览器问题吗?

注意:我在HTML的主体标签上调用onScroll = "function()"

上每个滚动任何滚动方法都将被调用

所以你应该检查用户什么时候滚动到底部,然后加载更多的内容

如果您在窗口移动时获得一系列事件(类似于在调整大小事件中发生的情况),那么一个技巧是在第一个滚动事件上设置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);
});

滚动时加载内容:http://www.webresourcesdepot.com/load-content-while-scrolling-with-jquery/