欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

函数的防抖和节流

程序员文章站 2022-04-19 11:01:18
虽然简单,还是记录一下 function fn1() { let dom=document.body; let time; dom.addEventListener('mousemove',()=>{ clearTimeout(time); time=setTimeout(()=>{ console.log('send aj...

虽然简单,还是记录一下

<!-- 函数防抖 如果事件触发太快(时间间隔小于我们规定的时间),则只执行最后一次事件的业务代码-->
<!-- 常见例子:搜索框在输入停止后(暂停时间大于我们规定时间)才发起请求-->
  function fn1() {
    let dom=document.body;
    let time;
    dom.addEventListener('mousemove',()=>{
      clearTimeout(time);
      time=setTimeout(()=>{
        console.log('send ajax fn1');//你的业务代码
      },500)
    })
  }
  <!-- 函数节流 无论事件触发多快,只在规定间隔内执行业务代码-->
  <!-- 常见例子:连续点击多次按钮,除了第一次,往后每隔一定时间再次触发事件才执行一次业务代码-->
  function fn2(){
    let dom=document.body;
    let flag=true;
    dom.addEventListener('click',()=>{
      if(flag){
        console.log('send ajax fn2');//你的业务代码
        flag=false
        setTimeout(()=>{
          flag=true;
        },2000)
      }
    })
  }

本文地址:https://blog.csdn.net/qq_42031498/article/details/109360207

相关标签: JavaScript js