• 节流防抖


    util.js
    /*函数节流*/
    function throttle(fn, interval) {
      var enterTime = 0;//触发的时间
      var gapTime = interval || 300 ;//间隔时间,如果interval不传,则默认300ms
      return function() {
        var context = this;
        var backTime = new Date();//第一次函数return即触发的时间
        if (backTime - enterTime > gapTime) {
          fn.call(context,arguments);
          enterTime = backTime;//赋值给第一次触发的时间,这样就保存了第二次触发的时间
        }
      };
    }
     
    /*函数防抖*/
    function debounce(fn, interval) {
      var timer;
      var gapTime = interval || 1000;//间隔时间,如果interval不传,则默认1000ms
      return function() {
        clearTimeout(timer);
        var context = this;
        var args = arguments;//保存此处的arguments,因为setTimeout是全局的,arguments不是防抖函数需要的。
        timer = setTimeout(function() {
          fn.call(context,args);
        }, gapTime);
      };
    }
     
    module.exports = {
      throttle,
      debounce,
    }
    index.js
    import tool from "../../utils/util"
    //cleartab需要做节流防抖的方法名,5000间隔时间可自行根据需要设置,默认为300ms
    cleartab:tool.throttle(function(e){
        a = a+1
        console.log(a,"tttttttttttttttttt")
       },5000),
    正道的光终将来临,当太阳升起的时候,光芒总会普照大地温暖人间。些许的阴霾也终会有被阳光洒满的一天
  • 相关阅读:
    PHP中each与list用法分析
    三大范式通俗讲解
    数据库三大范式详解
    利用JS制作简便计算器
    CSS下拉列表错误纠正
    下拉列表
    CSS选择器、标签,div的位置。
    php注册审核
    php分页查询
    php投票练习
  • 原文地址:https://www.cnblogs.com/sjruxe/p/15778679.html
Copyright © 2020-2023  润新知