Javascript延迟事件
Javascript delay event
我有一个函数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);
});
使用underscorejs库,它可以像一样简单
var debounceid = _.debounce(handleScroll, 200);
$(window).resize(debounceid);
相关文章:
- 实现延迟的jquery更改事件处理程序
- 延迟单击事件,直到AJAX完成
- JavaScript 事件处理具有延迟的滚动事件
- 将单击事件附加到按钮或链接上的类,该按钮或链接会触发 AJAX 帖子,然后延迟并继续原始操作
- 我想要“鼠标滚轮事件延迟”
- 使用Facebook's EventEmitter是一种让延迟侦听器接收已经发出的事件的方法
- 带有标签的外部链接会延迟滚动事件
- 如何在JavaScript中测量交互和mousedown事件之间的延迟
- 鼠标输入事件上的jQuery延迟出现问题
- Javascript延迟事件
- 如何将隐藏/显示事件延迟到提交后Iframe加载
- 如何将事件延迟到单击多个按钮
- 函数仅在键控事件延迟的情况下执行
- 三个.js触摸事件延迟300毫秒
- jQuery单击“事件延迟”
- 防止Android触摸事件延迟
- JavaScript按键事件延迟.我可以用JavaScript修复它吗
- 此处映射API事件延迟
- JavaScript输入和输出之间的一个(按键)事件延迟
- 如何设置一个点击()Jquery事件延迟再次点击