摘要:简单的防抖动处理,一秒内点击一次向服务器请求数据点击按钮向后台请求数据优化点另外一些防抖动的小技巧,请参考封装好的简单防抖动函数防抖动函数要执行的函数,间隔毫秒数调用现成的工具库防抖动节流
1. 简单的防抖动处理,一秒内点击一次
</>复制代码
var timer = null;
$(".coupon").click(function(){
if (timer) {
return;
}
timer = true;
setTimeout(function() {
timer = false;
}, 1000);
...
})
2. 向服务器请求数据
点击按钮向后台请求数据 优化点:
</>复制代码
var running = false;
$(".btn").on("click", function() {
if (running) {
return;
}
running = true;
$.ajax(url, {
complete: () => {
running = false;
}
})
});
另外一些防抖动的小技巧,请参考:
http://blog.csdn.net/crystal6...;
https://jinlong.github.io/201...
// 防抖动函数 fn要执行的函数,timeout间隔毫秒数
</>复制代码
function debounce(fn, timeout) {
let last = null;
return function() {
if (last) {
return last.result;
}
setTimeout(() => { last = null; }, timeout || 1000);
const result = fn.apply(this, arguments);
last = { result };
return result;
};
}
//调用
btn.addEventListener("click", debounce(function() {
...
}, 1000));
4. 现成的工具库Loadash
http://www.css88.com/doc/loda...
防抖动:
_.debounce
节流:
_.throttle
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/52519.html
摘要:简单的防抖动处理,一秒内点击一次向服务器请求数据点击按钮向后台请求数据优化点另外一些防抖动的小技巧,请参考封装好的简单防抖动函数防抖动函数要执行的函数,间隔毫秒数调用现成的工具库防抖动节流 1. 简单的防抖动处理,一秒内点击一次 var timer = null; $(.coupon).click(function(){ if (timer) { return; } ...
摘要:它和防抖动最大的区别就是,节流函数不管事件触发有多频繁,都会保证在规定时间内一定会执行一次真正的事件处理函数。 防抖动 其核心内涵在于延迟处理,也就是将一系列的事件处理程序全部延迟,保障推送进来的第一次事件处理 var debounce = function(fn,delay,mustRunDelay){ var timer = null; var t_start; ...
摘要:起因面试被问到了节流和防抖动自己对这两个的概念比较模糊都不知道回答了什么鬼从语文和英语学起首先先看字面意思节流的意思就是水龙头关小点频率不要那么高防抖动这根弹簧你不要来回蹦了我就要你最后停下来的没有发生形变的那一刻举个例子节流在改变窗口大小 起因 面试被问到了节流和防抖动, 自己对这两个的概念比较模糊, 都不知道回答了什么鬼 从语文和英语学起 首先, 先看字面意思:节流(throttl...
阅读 2240·2023-04-25 17:48
阅读 3669·2021-09-22 15:37
阅读 3008·2021-09-22 15:36
阅读 6173·2021-09-22 15:06
阅读 1710·2019-08-30 15:53
阅读 1513·2019-08-30 15:52
阅读 795·2019-08-30 13:48
阅读 1199·2019-08-30 12:44