编写定期调用的滚动回调

Write a scroll callback that gets called at regular intervals

本文关键字:滚动 回调 调用      更新时间:2023-09-26

我想编写一个滚动回调函数,当用户滚动时,每隔一秒就会调用一次。我试过了

window.on('scroll', function(e) {
//scroll function body
});

但问题是每次用户滚动甚至一个像素时都会调用它。有人可以提出解决方案吗?

你可以写一个这样的函数

scrollCb = function(func, later) {
    var timeout;
    return function() {
        var context = this, args = arguments;
        if (timeout) {
            clearTimeout(timeout);
        }
        timeout = setTimeout(later, wait);
        if (callNow) func.apply(context, args);
    };
};

并称它为喜欢

scrollCb(function() {
   //Your scroll callback handler 
}, 1000);