节流函数是为了解决事件的高频触发导致的性能问题
function throttle(action, wait=1000){
let time = Date.now()
return function () {
if (time + wait - Date.now() < 0) {
action()
time = Date.now()
}
}
}
如果你要实现动画的节流函数,可以采用requestAnimationFrame()
function throttle (action) {
let isAction = false
return function () {
if (isAction) return
isAction = true
window.requestAnimationFrame(function(){
action()
isAction = false
})
}
}
网友评论