首頁 >web前端 >css教學 >如何停止載入指標的 setTimeout 或 setInterval 迴圈?

如何停止載入指標的 setTimeout 或 setInterval 迴圈?

Linda Hamilton
Linda Hamilton原創
2024-12-03 03:05:111039瀏覽

How to Stop a setTimeout or setInterval Loop for Loading Indicators?

停止 setTimeout 循環

使用精靈建立載入指示器時,通常會依賴循環來循環背景位置。一種方法是使用 setTimeout 函數,但是如果您需要在載入過程完成時停止循環怎麼辦?

setTimeout 實作

JavaScript 中的 setTimeout 函數傳回計時器句柄,讓您使用clearTimeout 函數取消逾時。要實現此功能,您可以在setBgPosition 函數中建立一個stop() 函數:

function setBgPosition() {
    var c = 0,
        timer = 0;
    ...
    return stop;

    function stop() {
        if (timer) {
            clearTimeout(timer);
            timer = 0;
        }
    }
}

要使用此功能,您可以將setBgPosition 函數指派給一個變量,然後呼叫stop() 函數來停止循環:

var stop = setBgPosition();
// ... later ...
stop();

替代方法: setInterval

使用 setTimeout 的另一種方法是 setInterval,它以指定的時間間隔重複執行函數。以下是如何將其與clearInterval一起使用:

function setBgPosition() {
    ...
    return setInterval(run, 200);
}

停止循環:

var timer = setBgPosition();
// ... later ...
clearInterval(timer);

但是,建議探索用於檢測完成條件並允許setBgPosition停止循環的選項循環本身。這種方法在處理裝載作業時提供了更好的控制和靈活性。

以上是如何停止載入指標的 setTimeout 或 setInterval 迴圈?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn