我有一个函数handleScroll
,需要在窗口的滚动位置发生变化时调用它。这是
$(window).scroll(handleScroll);
但问题是上面的代码最终过于频繁地调用handleScroll
。如何修改上面的代码,以便只在用户停止滚动200毫秒后才调用handleScroll?
答案 0 :(得分:2)
var timeoutHandle;
$(window).scroll(function(e) {
if (timeoutHandle) {
clearTimeout(timeoutHandle);
}
timeoutHandle = setTimeout(function() {
handleScroll(e);
timeoutHandle = null;
}, 200);
});
答案 1 :(得分:0)
使用underscorejs库,可以轻松实现
var debounceid = _.debounce(handleScroll, 200);
$(window).resize(debounceid);