Javascript döngü sayacı
Javascript kodu söyle, her 2000 milisaniyede bir parça yürütmek için ihtiyacım var.
setTimeout('moveItem()',2000)
Yukarıda 2000 milisaniye sonra fonksiyonu çalıştırır, ama yine idam olmayacak.
Yani içinde benim moveıtem var fonksiyon:
function moveItem() {
jQuery(".stripTransmitter ul li a").trigger('click');
setInterval('moverItem()',2000);
}
Bu kod tetiği tıklatarak jQuery parça 2000 milisaniye her aralığı çalıştırmak istiyorum çünkü çalışmıyor, ama şu an sürekli çağrılan ve senaryo kesintiye uğramış olması gerekir. Bunun yanı sıra, bu çok kötü hissediyorum kaliteli kodlama... bunu Nasıl çözersin?
Çok teşekkür ederim.
CEVAP
setTimeout
setInterval
çok farklı işlevleri olan not:
setTimeout
kodu çalıştırırbir kezzaman aşımı sonra.setInterval
kod çalıştırırsonsuza dekkaydıyla , zaman aşımı aralıklarla.
Her iki işlevi bir dönüşzamanlayıcı KİMLİĞİzaman aşımı iptal etmek için kullanabilirsiniz. Tüm yapmanız gereken bir değişken değeri saklamak ve clearTimeout(tid)
clearInterval(tid)
değişken olarak sırasıyla kullanın.
Yani, yapmak istediğiniz ne bağlı olarak, geçerli iki seçeneğiniz var:
// set timeout
var tid = setTimeout(mycode, 2000);
function mycode() {
// do some stuff...
tid = setTimeout(mycode, 2000); // repeat myself
}
function abortTimer() { // to be called when you want to stop the timer
clearTimeout(tid);
}
ya
// set interval
var tid = setInterval(mycode, 2000);
function mycode() {
// do some stuff...
// no need to recall the function (it's an interval, it'll loop forever)
}
function abortTimer() { // to be called when you want to stop the timer
clearInterval(tid);
}
Her ikisi de aynı ulaşmanın en yaygın yolu vardır.
Bir Dizi çoğaltmak için Javascript en ...
Tarih aralıkları arasında Javascript d...
Nasıl JavaScript ile Döngü üyeleri ola...
Değişkenleri ya da döngü içinde ve dış...
JavaScript dizi döngü...