Görüntü işlevini, görüntülemeye geldiklerinde animasyon sınıfı eklemeyi geciktirmek için kullanıyorum.SetInterval gecikmesi nasıl güncellenir?
$(function() {
var itemQueue = [];
var queueTimer;
function processItemQueue() {
var $delay = 100; // needs to be based on item data-delay attr
if (queueTimer) {
return;
}
queueTimer = window.setInterval(function() {
if (itemQueue.length) {
var $firstinque = $(itemQueue.shift());
var $animation = $firstinque.attr('data-effect');
$firstinque.addClass($animation);
} else {
window.clearInterval(queueTimer);
queueTimer = null;
}
}, $delay);
}
$(".item-animate").waypoint(function() {
itemQueue.push(this.element);
processItemQueue();
}, {
offset: '90%'
})
});
Baz fonksiyonu çalışıyor ama ürün veri gecikme niteliğe dayalı olarak gecikmeler ayarlamak gerekiyor ve setInterval içinde bunu yapamam. Daha fazla bilgi için lütfen yukarıdaki keman'a bakınız. Kemanın ikinci maddesinin 500 ms gecikme süresi vardır, bu yüzden daha sonra ateş etmelidir. Herhangi bir yardım için teşekkür ederiz.
[çalışır durumdayken setInterval aralığını değiştirme] Olası yinelenen (http : //stackoverflow.com/questions/1280263/changing-the-interval-of-setinterval-while-its-running) – Xufox
Zamanı değiştiremezsiniz tanımlanmış bir setInterval veya setTimeout değeri - tek yapmanız gereken bunu dolaşmak ve yeniden oluşturmaktır. – Soren
Sabit bir gecikme kullanması ve tekrarlanması gereken setInterval'ı kullanmak yerine, yalnızca bir kez sabit bir gecikmeyle tetikleyen bir dizi setTimeouts. – James