zoukankan      html  css  js  c++  java
  • javascript疑难问题---13、函数防抖

    javascript疑难问题---13、函数防抖

    一、总结

    一句话总结:

    防抖函数 就是 一个会频繁触发的函数,在规定的时间内,只让最后一次生效,前面的不生效。算法思路就是 在事件被触发n秒后再执行回调,如果在这n秒内又被触发,则重新计时。

    1、防抖函数 的作用?

    防止用户的重复(手抖)操作

    2、防抖函数 适用的场景?

    用户点击事件,比如做题按钮提交 等等

    二、函数防抖

    博客对应课程的视频位置:13、函数防抖
    https://www.fanrenyi.com/video/4/178

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>函数防抖</title>
     6 </head>
     7 <body>
     8 <!--
     9 1、
    10 防抖函数:
    11 一个会频繁触发的函数,在规定的时间内,只让最后一次生效,前面的不生效
    12 
    13 在事件被触发n秒后再执行回调,如果在这n秒内又被触发,则重新计时。
    14 
    15 2、
    16 作用:
    17 防止用户的重复(手抖)操作
    18 
    19 3、
    20 适用场景:
    21 用户点击事件,比如做题按钮提交
    22 
    23 4、
    24 函数防抖在实际项目中的应用
    25 
    26 5、
    27 思考:
    28 如果用户一直点的话,这个函数是不会执行的,大象想想为什么
    29 
    30 
    31 
    32 -->
    33 <button id="btn">btn</button>
    34 <script>
    35 
    36     //在事件被触发n秒后再执行回调,如果在这n秒内又被触发,则重新计时。
    37     //计时器 setTimeOut
    38     /**
    39      * 1、函数防抖
    40      * @param fn 要执行的回调函数
    41      * @param delay 时间延迟
    42      */
    43     function debounce(fn,delay) {
    44         //定义一个计时器
    45         var timer=null;
    46         return function(){
    47             clearTimeout(timer);
    48             timer=setTimeout(function () {
    49                 //fn();
    50                 fn.call(this);
    51             },delay);
    52         };
    53     }
    54     document.getElementById('btn').onclick=debounce(function () {
    55         console.log('btn按钮被点击了: '+Date.now());
    56     },1500);
    57 </script>
    58 </body>
    59 </html>
     
  • 相关阅读:
    linux(十一)之初始化文件
    linux(十)配置ssh免密登录实现
    linux(九)之网络基础
    linux(八)linux系统中查找文件二
    oracle 重建分区索引
    java.io.IOException: java.sql.SQLException: ORA-01502: index 'BTO.PK_xxxxx' or partition of such index is in unusable state
    oracle count 大表
    shell for if
    oracle 导出表
    linux date
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/12523550.html
Copyright © 2011-2022 走看看