java毫秒级抖动怎么处理_防抖动处理和节流 小技巧

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;

}

})

});

3. 封装好的简单防抖动函数

// 防抖动函数 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

节流:

_.throttle

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值