美文网首页
防抖与节流

防抖与节流

作者: geeklibin | 来源:发表于2020-09-12 00:04 被阅读0次

防抖(debounce):

用于处理持续触发事件。持续触发事件,在n秒内没有继续触发事件,则执行一次事件处理函数,如果在n秒内触发了该事件,则重新开始计时。

var timer;
function debounce( fn ) {
  clearTimeout(timer)
  timer = setTimeout(fn,1000)
}
//此案例在1000毫秒以内如果没有触发,则执行一次fn函数,如果触发了,则从新计时

节流(throttle):

用于处理持续触发事件。在n秒内持续触发事件,仅执行一次事件处理函数。

var valid = true;
function throttle( fn ){
  if(!valid) return false;
    valid = false
    setTimeout(() => {
      fn()
      valid = true;
    }, 1000)
}
//此案例在1000毫秒内,如果持续触发多次事件,仅会执行一次。

相关文章

网友评论

      本文标题:防抖与节流

      本文链接:https://www.haomeiwen.com/subject/dbyiektx.html