防抖与节流

2021-03-24  本文已影响0人  林智_lz

防抖 

对于短时间内连续触发的事件,防抖的含义就是让某个时间期限内,事件处理函数只执行一次。( 滚动条移动触发事件)

function debounce(fn){

    let timer = null         //借助闭包

    return function() {

        if(timer){

            clearTimeout(timer)

        }

        timer = setTimeout(fn,3000) // 简化写法

    }

function fn  () {

    // 事件处理函数

 }

节流

在函数执行一次之后,该函数在指定的时间期限内不再工作,直至过了这段时间才重新生效。(双击)

 let valid = false

throttle(){

  if(valid){

         return 

   }else{

    valid = true

     setTimeout(() => {

            fn()

            valid = false;

        }, 3000)

    }

}

上一篇 下一篇

猜你喜欢

热点阅读