续触发事件时 防抖和节流

一、防抖动(Debouncing)

当持续触发事件时,一定时间段内没有再触发事件,事件处理函数才会执行一次,。

触发时候 有定时器 就清定时器 重新触发一个定时器

// 防抖
  var timer = null;

  function fandou(fucntion(){},time){
    if(timer){
       clearInterval(timer)
    }
    timer = setTimeout(fn,time)
  }

  

二、节流阀(Throtting

保证一定时间段内只调用一次事件处理函数。

触发时候 有定时器 就返回

function jieliu(fn,time){
    if(timer){
      return
    } 
    timer = setTimeout(function(){ 
      clearInterval(timer)
      fn()
    },time)  
  }

  

原文地址:https://www.cnblogs.com/zhouhongdan/p/12614034.html