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
Lepaskan: 2024-11-26 18:15:11
asal
780 orang telah melayarinya

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);
Salin selepas log masuk

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);
Salin selepas log masuk

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!

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