スロットル機能スロットル

/ * 
 *スロットル
 * / 

VARスロットル=機能(FN、インターバル){ 
  関数VAR __self = FN //遅延の必要性に言及保存
  VARタイマー//タイマー
  VAR FIRSTTIME =真//それが最初の呼び出しであるかどうかを

  リターン機能(){ 
    VARの引数=引数
    VAR = __meこの

    IF(FIRSTTIME){//これが最初の呼び出しである場合には、遅延実行せずに
      __self.apply(__ミー、引数)
      偽FIRSTTIMEへの復帰= 

    } 

    (タイマ)IF {//もし遅延タイマーもない完全なことを示す、前に実行される
      偽に戻り
    } 

    タイマー= setTimeoutメソッド(関数(){//遅延を行わない
      てclearTimeout(タイマー)
      のタイマー=ヌル
      __self.apply(__ミー、引数)を
    間隔} || 500) 
  }
}

window.onresize =スロットル(関数(){ 
  にconsole.log(1)
}、500)

  

おすすめ

転載: www.cnblogs.com/lan-cheng/p/12146677.html