<button οnclick="pay()">支付</button>
<button οnclick="play()">播放</button>
<script>
//防抖
//事件的抖动:上一个事件还没执行完,下一个事件又执行了
let _pay = ()=>{
setTimeout(function () {
console.log("支付成功")
}, 1000)
}
//防抖的原理--事件触发之后,不要立刻执行,延时执行。
let _debonce = (fun,time)=>{
let obj = null; //延时器
return ()=>{
//当事件触发的时候,
if(obj){
//重置延时器
clearTimeout(obj);
obj = setTimeout(fun,time);
}else{
//有效的点击
obj = setTimeout(fun, time);
}
}
}
let pay = _debonce(_pay,1000);
let play = _debonce(function(){
console.log("播放")
},1000)
</script>