在多次迭代后停止去抖动功能

时间:2014-08-30 00:21:07

标签: javascript

我问了一个类似的问题,但我觉得这是不同的。

我正在研究David Walsh here的辩护功能。

任何想法如何在让我们说3次迭代之后自动停止?

/ Returns a function, that, as long as it continues to be invoked, will not
// be triggered. The function will be called after it stops being called for
// N milliseconds. If `immediate` is passed, trigger the function on the
// leading edge, instead of the trailing.
function debounce(func, wait, immediate) {
    var timeout;
    return function() {
        var context = this, args = arguments;
        clearTimeout(timeout);
        timeout = setTimeout(function() {
            timeout = null;
            if (!immediate) func.apply(context, args);
        }, wait);
        if (immediate && !timeout) func.apply(context, args);
    };
};

0 个答案:

没有答案