JS画像安定化を達成するため、スロットル

手ぶれ補正機能。

  いくつかの操作を単一の操作に統合します。タイマー機能で指定されたトリガ遅延時間を設定しますが、遅延時間が再びトリガされた場合、それは前にタイマーをキャンセルします。したがって、唯一の最後の操作をトリガすることができます。コードは以下の通りであります:

関数デバウンス(FN、待つ){ 
     タイマーが聞かせて = nullを戻り 関数(){ 
          引数のせ =引数、その= この; 
          タイマー && てclearTimeout(タイマー)。
          タイマー= setTimeoutメソッド(関数(){fn.apply(引数、すなわち)}、待機)
     }         
}

スロットリング機能。

  時間ワンショット機能の一定期間内に。そして、スタート、一度トリガの終了をトリガします。コードは以下の通りであります:

関数スロットル(楽しい、ディレイ){ 
  タイマーを聞かせて = nullを
  聞かせたstartTime = Date.now();
  戻り 関数(){ 
    CURTIMEせ = )(Date.nowします。
    残ってみましょう(CURTIME - - =遅延のstartTime)。
    そのましょう = この; 
    引数の聞かせて =の引数を、
    clearTimeout(タイマー)。
    もし(<= 0のまま{)
      fun.apply(引数、ということ)。
      startTime = Date.now()。
    } { 
      タイマ =setTimeout(楽しい、残っています)。
    } 
  } 
}

 

おすすめ

転載: www.cnblogs.com/wjgoblin/p/10950886.html