Rumah hujung hadapan web Soal Jawab bahagian hadapan Bagaimana untuk mengosongkan semua pemasa dalam javascript

Bagaimana untuk mengosongkan semua pemasa dalam javascript

Sep 08, 2021 pm 04:17 PM
javascript js

Dalam JS, anda boleh menggunakan fungsi gelung for dan clearInterval() untuk mengosongkan semua pemasa, sintaks "end=setInterval(function(){},10000);for(i=1;i

Bagaimana untuk mengosongkan semua pemasa dalam javascript

Persekitaran pengendalian tutorial ini: sistem Windows 7, versi JavaScript 1.8.5, komputer Dell G3.

Kita kadangkala perlu mengosongkan semua pemasa dalam halaman
Jika kita menyimpan pemasa (setInterval) dengan pembolehubah apabila kita menciptanya, maka mengosongkan pemasa adalah sangat mudah dan terus Hanya jelas (clearInterval)
Contohnya:

let timer = setInterval(function () {
    console.log('timer');
}, 1000);

clearInterval(timer);
Salin selepas log masuk

Tetapi kadangkala pemasa yang dibuat tidak disimpan dengan pembolehubah, jadi kita tidak boleh mengosongkannya secara langsung
Contohnya:

let timer = setInterval(function () {
    console.log('timer');
}, 1000);
setInterval(function () {
    console.log('timer');
}, 1000);
clearInterval(timer);
clearInterval(/* ??? */); // 操蛋
Salin selepas log masuk

Kami mempunyai pembolehubah timer untuk menyimpan pemasa pertama, jadi kami boleh terus menghantar timer ke clearInterval dan mengosongkannya
Tetapi untuk pemasa kedua, kami Jika anda tidak menyimpannya, anda tidak' tidak tahu apa yang perlu dihantar apabila clearInterval, yang sangat kacau

Jadi bagaimana untuk menyelesaikan masalah ini?
Mari kita lihat dahulu peraturannya:

for (let i = 0; i < 10000; i++) {
    let t = setInterval(function () { }, 1000);
    console.log(t);
}
Salin selepas log masuk

Keputusan berjalan:

Bagaimana untuk mengosongkan semua pemasa dalam javascript

Jelas sekali mudah diperoleh: nilai pulangan
setInterval Ia adalah jenis berangka yang mewakili pemasa, dan nilai ini meningkat daripada 1 mengikut susunan pemasa dicipta
Maka tidak sukar untuk menyedari keperluan kita untuk mengosongkan semua pemasa dalam halaman
Jadi contohnya, sekarang kita ada Terdapat begitu banyak pemasa:

let t = setInterval(function () { }, 1000);
let r = Math.random() * 100;
for (let i = 0; i < r; i++) {
    setInterval(function () { }, 1000);
}
Salin selepas log masuk

Jika anda ingin mengosongkan semuanya, anda perlu menggunakan gelung untuk mengosongkan nombor yang sepadan dengan pemasa dari 1 hingga yang terakhir dibuat menggunakan clearInterval mengikut urutan. Tetapi sekarang terdapat sekumpulan pemasa Kami tidak tahu berapa banyak pemasa yang ada sekarang, jadi kami tidak tahu nombor yang sepadan dengan pemasa yang terakhir dibuat. Jadi, mula-mula kita boleh menjadi lebih ganas

for (let i = 1; i < 100000; i++) {
    clearInterval(i);
}
Salin selepas log masuk

Saya cuma dapati angka yang besar seperti 100000. Secara amnya, tidak sepatutnya ada lebih daripada 100000 pemasa pada halaman Secara amnya, pemasa berada dalam julat 1. 100000. , jadi kaedah ini pasti dapat mencapai keperluan kita.
Tetapi ia masih tidak bagus, lagipun, ia agak terlalu ganas. Kemudian kita perlu mengetahui nombor n yang sepadan dengan pemasa yang dibuat terakhir. ialah n 1, jadi kita boleh mencari n, dan kemudian kita boleh gelung dari 1 hingga n Oh, ingat untuk mengosongkan pemasa ke-1 yang baru dibuat, jadi gelung bermula dari 1 hingga akhir.

Kemudian kodnya adalah seperti berikut:

let end = setInterval(function () { }, 10000);
for (let i = 1; i <= end; i++) {
    clearInterval(i);
}
Salin selepas log masuk

Dengan cara ini kami telah menyedari dengan sempurna keperluan untuk mengosongkan semua pemasa dalam halaman

Kemudian mari kita cuba kesan dan ambil Video Tencent Contohnya:

Bagaimana untuk mengosongkan semua pemasa dalam javascript

Terdapat imej karusel pada halaman utama imej Tencent Video biasanya dilaksanakan menggunakan setInterval pemasa, tetapi kami tidak melakukannya tahu apakah pembolehubah yang menyimpan pemasa karusel ini Jika kita ingin menghentikan karusel ini, kita boleh menggunakan kod tadi untuk menghentikan terus semua pemasa.

Bagaimana untuk mengosongkan semua pemasa dalam javascript

Selepas melaksanakan kod sebentar tadi dalam konsol, saya mendapati bahawa imej karusel memang telah berhenti.

Hebat!

[Pembelajaran yang diBagaimana untuk mengosongkan semua pemasa dalam javascriptorkan: Tutorial JavaScript Lanjutan]

Atas ialah kandungan terperinci Bagaimana untuk mengosongkan semua pemasa dalam javascript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk melaksanakan sistem pengecaman pertuturan dalam talian menggunakan WebSocket dan JavaScript Bagaimana untuk melaksanakan sistem pengecaman pertuturan dalam talian menggunakan WebSocket dan JavaScript Dec 17, 2023 pm 02:54 PM

Bagaimana untuk melaksanakan sistem pengecaman pertuturan dalam talian menggunakan WebSocket dan JavaScript

Alat penting untuk analisis saham: Ketahui langkah-langkah untuk melukis carta lilin dengan PHP dan JS Alat penting untuk analisis saham: Ketahui langkah-langkah untuk melukis carta lilin dengan PHP dan JS Dec 17, 2023 pm 06:55 PM

Alat penting untuk analisis saham: Ketahui langkah-langkah untuk melukis carta lilin dengan PHP dan JS

Disyorkan: Projek pengesanan dan pengecaman muka sumber terbuka JS yang sangat baik Disyorkan: Projek pengesanan dan pengecaman muka sumber terbuka JS yang sangat baik Apr 03, 2024 am 11:55 AM

Disyorkan: Projek pengesanan dan pengecaman muka sumber terbuka JS yang sangat baik

WebSocket dan JavaScript: teknologi utama untuk melaksanakan sistem pemantauan masa nyata WebSocket dan JavaScript: teknologi utama untuk melaksanakan sistem pemantauan masa nyata Dec 17, 2023 pm 05:30 PM

WebSocket dan JavaScript: teknologi utama untuk melaksanakan sistem pemantauan masa nyata

Petua Pembangunan PHP dan JS: Kuasai Kaedah Melukis Carta Lilin Stok Petua Pembangunan PHP dan JS: Kuasai Kaedah Melukis Carta Lilin Stok Dec 18, 2023 pm 03:39 PM

Petua Pembangunan PHP dan JS: Kuasai Kaedah Melukis Carta Lilin Stok

Bagaimana untuk melaksanakan sistem tempahan dalam talian menggunakan WebSocket dan JavaScript Bagaimana untuk melaksanakan sistem tempahan dalam talian menggunakan WebSocket dan JavaScript Dec 17, 2023 am 09:39 AM

Bagaimana untuk melaksanakan sistem tempahan dalam talian menggunakan WebSocket dan JavaScript

Cara menggunakan JavaScript dan WebSocket untuk melaksanakan sistem pesanan dalam talian masa nyata Cara menggunakan JavaScript dan WebSocket untuk melaksanakan sistem pesanan dalam talian masa nyata Dec 17, 2023 pm 12:09 PM

Cara menggunakan JavaScript dan WebSocket untuk melaksanakan sistem pesanan dalam talian masa nyata

Tutorial JavaScript Mudah: Cara Mendapatkan Kod Status HTTP Tutorial JavaScript Mudah: Cara Mendapatkan Kod Status HTTP Jan 05, 2024 pm 06:08 PM

Tutorial JavaScript Mudah: Cara Mendapatkan Kod Status HTTP

See all articles