编写一个定期调用的滚动回调

时间:2014-11-30 13:12:00

标签: javascript events scroll

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

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

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

1 个答案:

答案 0 :(得分:1)

你可以写一个像这样的函数

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);