zoukankan      html  css  js  c++  java
  • 函数节流 throttle

    /*
     * throttle 
     */
    
    var throttle = function (fn, interval) {
      var __self = fn // 保存需要被延迟执行的函数引用
      var timer // 定时器
      var firstTime = true // 是否是第一次调用
    
      return function () {
        var args = arguments
        var __me = this
    
        if (firstTime) { // 如果是第一次调用,不需延迟执行
          __self.apply(__me, args)
          return firstTime = false
    
        }
    
        if (timer) { // 如果定时器还在,说明前一次延迟执行还没有完成
          return false
        }
    
        timer = setTimeout(function () { // 延迟一段时间执行
          clearTimeout(timer)
          timer = null
          __self.apply(__me, args)
        }, interval || 500)
      }
    }
    
    window.onresize = throttle(function () {
      console.log(1)
    }, 500)
    

      

  • 相关阅读:
    2.25
    2.24
    2.22
    influxdb 配置
    mongodb 数据备份
    influxDb数据备份
    Linux 及 git 指令集合
    git 项目 保存至gitee中
    TypeScripte 资料
    SecureCrt 的配色方案
  • 原文地址:https://www.cnblogs.com/lan-cheng/p/12146677.html
Copyright © 2011-2022 走看看