Rumah > hujung hadapan web > tutorial js > Bagaimanakah Saya Boleh Mengawal Pemasa Berulang dalam JavaScript Menggunakan `setInterval` dan `clearInterval`?

Bagaimanakah Saya Boleh Mengawal Pemasa Berulang dalam JavaScript Menggunakan `setInterval` dan `clearInterval`?

Susan Sarandon
Lepaskan: 2024-12-08 07:02:12
asal
137 orang telah melayarinya

How Can I Control Recurring Timers in JavaScript Using `setInterval` and `clearInterval`?

Mengawal Pemasa Berulang dengan setInterval dan clearInterval

Dalam kod anda, anda bertujuan untuk menggunakan drawAll() sekali apabila kekunci tertentu ditekan. Walau bagaimanapun, fungsi setInterval menetapkan pemasa berulang yang berulang kali memanggil drawAll(). Untuk menangani perkara ini, kami boleh menggunakan clearInterval untuk menghentikan pelaksanaan gelung pemasa.

setInterval mencipta pemasa berulang dan mengembalikan pemegang. Pemegang ini berfungsi sebagai pengecam yang boleh digunakan oleh clearInterval untuk menghentikan pemasa daripada mencetuskan. Begini cara ia berfungsi:

var handle = setInterval(drawAll, 20);

// When you want to cancel it:
clearInterval(handle);
handle = 0; // This marks the interval as cleared
Salin selepas log masuk

Pada penyemak imbas, pemegangnya dijamin bukan nombor sifar. Oleh itu, menggunakan 0 sebagai nilai pemegang menunjukkan bahawa tiada pemasa ditetapkan.

Untuk menjadualkan fungsi untuk menyala sekali sahaja, anda boleh menggunakan setTimeout dan bukannya setInterval. setTimeout melaksanakan fungsi sekali selepas kelewatan yang ditentukan. Ia mengembalikan pemegang yang boleh digunakan dengan clearTimeout untuk membatalkan panggilan fungsi sebelum ia dilaksanakan jika perlu:

setTimeout(drawAll, 20);
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengawal Pemasa Berulang dalam JavaScript Menggunakan `setInterval` dan `clearInterval`?. 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