美文网首页
防抖和截流

防抖和截流

作者: 史蒂夫sdf | 来源:发表于2022-06-14 14:23 被阅读0次

    固定时间段内的多次触发将被重置为单次触发,防抖就是禁止频繁触发,例如:浏览器滑动,触发频率大约是1次/16ms(刷新率60FPS ,表示的是每秒钟画面更新次数),防抖就是控制滑动触发频率,每次防抖都延长触发时间。

    window.onscroll = delay(fn,1000)
    function fn(){console.log(123)}
    function delay(fn,time){
      let timeSet;//利用闭包存储定时器数据
      return function(){
        clearTimeout(timeSet)
        timeSet = setTimeout(fn,time)
      }
    }
    

    截流就是固定频率的触发。

    window.onscroll = delay(fn,1000)
    function fn(){console.log(123)}
    function delay(fn, time){
      let setTime;//利用闭包存储定时器数据
      let lock;//利用闭包存储锁
      return function (){
        if(lock){
          return;
        }else{
          setTime = setTimeout(function(){
            fn()
            lock = false;
          },time)
          lock = true;
        }
      }
    }
    

    相关文章

      网友评论

          本文标题:防抖和截流

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