Rumah > hujung hadapan web > tutorial css > Bagaimana untuk Menghentikan setTimeout atau setInterval Loop untuk Memuatkan Penunjuk?

Bagaimana untuk Menghentikan setTimeout atau setInterval Loop untuk Memuatkan Penunjuk?

Linda Hamilton
Lepaskan: 2024-12-03 03:05:11
asal
988 orang telah melayarinya

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

Menghentikan gelung setTimeout

Apabila mencipta penunjuk pemuatan menggunakan sprite, adalah perkara biasa untuk bergantung pada gelung untuk mengitar kedudukan latar belakang. Satu pendekatan melibatkan penggunaan fungsi setTimeout, tetapi bagaimana jika anda perlu menghentikan gelung apabila proses pemuatan selesai?

Pelaksanaan setTimeout

Fungsi setTimeout dalam JavaScript mengembalikan pemegang pemasa yang membolehkan anda membatalkan tamat masa menggunakan fungsi clearTimeout. Untuk melaksanakan ini, anda boleh mencipta fungsi stop() dalam fungsi setBgPosition:

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

    function stop() {
        if (timer) {
            clearTimeout(timer);
            timer = 0;
        }
    }
}
Salin selepas log masuk

Untuk menggunakan ini, anda boleh menetapkan fungsi setBgPosition kepada pembolehubah dan memanggil fungsi stop() kemudian untuk menghentikan gelung:

var stop = setBgPosition();
// ... later ...
stop();
Salin selepas log masuk

Pendekatan Alternatif: setInterval

Alternatif untuk menggunakan setTimeout ialah setInterval, yang berulang kali melaksanakan fungsi pada selang waktu tertentu. Begini cara anda boleh menggunakannya dengan clearInterval:

function setBgPosition() {
    ...
    return setInterval(run, 200);
}
Salin selepas log masuk

Untuk menghentikan gelung:

var timer = setBgPosition();
// ... later ...
clearInterval(timer);
Salin selepas log masuk

Walau bagaimanapun, adalah disyorkan untuk meneroka pilihan untuk mengesan keadaan penyiapan dan membenarkan setBgPosition menghentikan gelung itu sendiri. Pendekatan ini memberikan kawalan dan fleksibiliti yang lebih besar dalam mengendalikan operasi pemuatan.

Atas ialah kandungan terperinci Bagaimana untuk Menghentikan setTimeout atau setInterval Loop untuk Memuatkan Penunjuk?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan