Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Mengubah Selang `setInterval` Secara Dinamik Semasa Pelaksanaan?

Bagaimanakah Saya Boleh Mengubah Selang `setInterval` Secara Dinamik Semasa Pelaksanaan?

Patricia Arquette
Patricia Arquetteasal
2024-11-26 18:15:11843semak imbas

How Can I Dynamically Change the `setInterval` Interval During Execution?

Melaraskan Selang SetInterval Semasa Pelaksanaan

Mencari cara untuk mengubah suai secara dinamik selang setInterval semasa ia sedang berjalan, pertanyaan muncul dengan pendekatan yang dicadangkan untuk melaraskan selang berdasarkan pembilang.

The percubaan awal untuk menggunakan var interval = setInterval(function() { ... }, 10*counter); malangnya membuahkan hasil yang tidak berkesan. Untuk mencapai gelagat yang diingini, pertimbangkan untuk menggunakan fungsi tanpa nama:

var counter = 10;
var myFunction = function(){
    clearInterval(interval);
    counter *= 10;
    interval = setInterval(myFunction, counter);
}
var interval = setInterval(myFunction, counter);

Pendekatan ini melibatkan mengosongkan selang sedia ada, mengemas kini kaunter dan kemudian menetapkan selang baharu dengan selang yang dilaraskan.

Alternatif yang dicadangkan oleh A. Wolff memanfaatkan setTimeout dan bukannya clearInterval untuk mengelakkan keperluan untuk sentiasa mengosongkan dan menetapkan semula selang:

var counter = 10;
var myFunction = function() {
    counter *= 10;
    setTimeout(myFunction, counter);
}
setTimeout(myFunction, counter);

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengubah Selang `setInterval` Secara Dinamik Semasa Pelaksanaan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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