美文网首页
防抖和截流

防抖和截流

作者: 史蒂夫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;
    }
  }
}

相关文章

  • 防抖和截流

    固定时间段内的多次触发将被重置为单次触发,防抖就是禁止频繁触发,例如:浏览器滑动,触发频率大约是1次/16ms(刷...

  • 防抖和截流

    由来 如果短时间以很高频率触发 scroll 、resize、click 等事件(事件中涉及到大量的位置计算、DO...

  • 防抖与截流

  • JS事件截流 / 防抖

    JS事件截流 在使用scroll,resize,mousemove等方法的时候,由于触发次数过于频繁,一般会使用一...

  • 前端防抖截流以及常见应用

    前言 现在发现面试时候考察的防抖截流这个问题考察的东西不只这么简单了 面试官会结合各种应用案例去考察,比如模糊搜索...

  • 小程序网络封装(下)--翻页逻辑

    2-2 防抖、截流与分页细节分析 2-3 Paging对象 2-4 编程原则:多用return提前结束函数,少用e...

  • 索尼机身防抖和镜头防抖

    索尼微单系统拥有带防抖功能的机身和带防抖功能的镜头。无论防抖组件位于哪里,它们都属于光学防抖。 机身防抖 机身防抖...

  • JS专题系列之防抖与截流

    一、前言 在前端开发中会遇到一些频繁的事件触发,比如:window 的 resize、scrollmousedow...

  • scroll事件的性能

    防抖函数:强制一个函数在某个连续时间段内只执行一次 截流函数:固定函数执行的速率 原生节流:同throttle,只...

  • JavaScript防抖和节流

    1. 认识防抖和节流 1.1. 对防抖和节流的认识 防抖和节流的概念其实最早并不是出现在软件工程中,防抖是出现在电...

网友评论

      本文标题:防抖和截流

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