一、基本概念
避免用户的频繁触发,将一定时间内的操作合并为一次,并在给定时间以后只执行一次
二、实现
function debounce1(fn,time){
var timer = null
return function(){
clearTimeout(timer)
timer = setTimeout(fn,time)
}
}
用户的两次操作间隔小于time时,只执行最后一次
第一次点击触发操作
function debounce2(fn,time){
var timer = null
return function(){
clearTimeout(timer)
if(timer){
timer = setTimeout(function(){
fn()
},time)
} else {
fn()
timer = setTimeout(function(){
timer=null
},time)
}
}
}