中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何實現javascript函數節流

發布時間:2021-06-17 09:11:49 來源:億速云 閱讀:95 作者:小新 欄目:編程語言

小編給大家分享一下如何實現javascript函數節流,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

1、用時間戳判斷是否已到回調執行時間,記錄上次執行時間戳,然后每次觸發事件時執行回調,回調判斷當前時間戳距離上次執行時間戳的時間間隔是否為*s,如果是,則執行,并更新上次執行時間戳,如此循環。

var throttle = function(delay, action) {
    var last = 0;
    return function() {
        var curr = new Date();
        if (curr - last > delay) {
            action.apply(this, arguments);
            last = curr;
        }
    }
}

2、使用定時器,比如,當scroll事件剛觸發時,打印一個hello world ,然后設置一個1000ms的定時器,此后每次觸發scroll事件,觸發回調,如果已經存在定時器,則回調不執行方法,知道定時器出發,handler被清除,然后重新設置定時器。

var throttle = function(delay, action) {
    var timeout;
    var later = function () {
        timeout = setTimeout(function(){
            clearTimeout(timeout);
            // 解除引用
            timeout = null;
        }, delay);
    };
    later();
    if (!timeout) {
        action.apply(this, arguments);
        later();
    }
}

看完了這篇文章,相信你對“如何實現javascript函數節流”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

英吉沙县| 万宁市| 石河子市| 巍山| 湘乡市| 郁南县| 柞水县| 泽普县| 香格里拉县| 石河子市| 永昌县| 晋城| 潜江市| 吕梁市| 叙永县| 肇州县| 温宿县| 五常市| 息烽县| 天祝| 仲巴县| 拜泉县| 称多县| 北宁市| 筠连县| 大方县| 格尔木市| 黄浦区| 确山县| 平度市| 岱山县| 招远市| 玉田县| 澎湖县| 瓮安县| 郓城县| 广宗县| 佛冈县| 承德市| 张家界市| 云和县|