2017-11-20 37 views

答えて

1

クイックや汚れ(およびソートのテスト、F12コンソールの手で)いないライブラリを実装:それがどのように動作するかを

var timestamp = new Date(); 
var delay = 2000; // how many milliseconds should pass between executions 

function sortOfDebounce() { 

    var now = new Date(); 
    var timeDistance = (now.getTime() - timestamp.getTime()); 
    if(timeDistance <= delay) return; 

    timestamp = new Date(); 

    // Your code 
} 

:それはされていた場合に関数が呼び出されたとき、タイムスタンプに注意してください最後の時刻から何秒も経過していない時間がXミリ秒未満であれば、タイムスタンプを更新して続行します。

+0

少なくとも誰かがポイントを取得してくれてありがとう。それはthougでは動作しません。私は今私が何をしなければならないかを知っていると信じています。 – Michal

1

使用すると、アンダー

_.debounce(function, wait, [immediate]) 

パスimmediate = true

リンク:http://underscorejs.org/#debounce

サンプル

var fn = _.debounce(function(val) { 
 
    console.log(val); 
 
}, 100, true); 
 

 
fn(1); 
 
fn(2); 
 
fn(3); 
 
fn(4); 
 
fn(5);
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script>

+0

添付のサンプルを参照 –

+1

そう思わないでください、タイムアウトを長くしてみてください。最初は一度に実行されます。 –