


Bagaimana untuk mengosongkan semua pemasa dalam javascript
Sep 08, 2021 pm 04:17 PMDalam JS, anda boleh menggunakan fungsi gelung for dan clearInterval() untuk mengosongkan semua pemasa, sintaks "end=setInterval(function(){},10000);for(i=1;i
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);
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(/* ??? */); // 操蛋
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); }
Keputusan berjalan:
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); }
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); }
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); }
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:
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.
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!

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

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

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

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

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

Bagaimana untuk melaksanakan sistem tempahan dalam talian menggunakan WebSocket dan JavaScript

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

Tutorial JavaScript Mudah: Cara Mendapatkan Kod Status HTTP
