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; } } }
Untuk menggunakan ini, anda boleh menetapkan fungsi setBgPosition kepada pembolehubah dan memanggil fungsi stop() kemudian untuk menghentikan gelung:
var stop = setBgPosition(); // ... later ... stop();
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); }
Untuk menghentikan gelung:
var timer = setBgPosition(); // ... later ... clearInterval(timer);
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!