实现防抖与节流

本文介绍了如何使用HTML和JavaScript实现防抖与节流技术。通过示例代码展示了在按钮点击事件中应用防抖和节流函数,以控制事件处理函数的执行频率,提高页面性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、HTML部分

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>防抖与节流</title>
</head>
<body>
<input type="button" id="debounce" value="防抖"/>
<input type="button" id="throttle" value="节流"/>
</body>
<script src="index.js"></script>
</html>

二、index.js部分

// 防抖
  function fangdou(fn,times = 1000){
    let time = null;
    return function(){
      clearTimeout(time);
      time = setTimeout(function(){
        fn.apply(this,arguments);
      },times);
    }
  }

  function hi(){
    console.log('防抖成功!');
  }

  let fd = document.getElementById('debounce');
  fd.addEventListener('click', fangdou(hi));

  // 节流
  function jieliu(fn, times = 1000){
    let run = true;
    return function(){
      if(!run){
        return ;
      }
      run = false;
      setTimeout(function(){
        fn.apply(this,arguments);
        run = true;
      },times)
    }
  }

  function hello(){
    console.log('节流成功!')
  }

  let jl = document.getElementById('throttle');
  jl.addEventListener('click', jieliu(hello));

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值