Javascript延迟事件

我有一个函数handleScroll,当窗口的滚动位置改变时需要调用它.这是代码

$(window).scroll(handleScroll);

但问题是上面的代码最终过于频繁地调用handleScroll.如何修改上面的代码,以便只在用户停止滚动200毫秒后调用handleScroll?

最佳答案

var timeoutHandle;

$(window).scroll(function(e) {
    if (timeoutHandle) {
        clearTimeout(timeoutHandle);
    }
    timeoutHandle = setTimeout(function() {
        handleScroll(e);
        timeoutHandle = null;
    }, 200);
});
点赞