0
任何人都可以告訴我爲什麼我的IF語句在更新每個循環的UI之前觸發?帶有IF語句的jquery延遲函數
代碼基本上想要延遲添加css類到用戶界面,然後一旦每個添加,重定向用戶。它目前只是立即指示?!
$("#logo").click(function() {
//define variables:
var eventDuration = 500;
var elementArray = ['ribbon', 'left-panel', 'wid-id-1', 'wid-id-2'];
var animationArray = ['slideOutRight', 'slideOutLeft', 'rotateOutUpRight', 'rotateOutUpRight'];
//Loop through elements and update UI with timer function:
$.each(elementArray, function(index, value) {
//Increments the delay of the element updates:
var delaytimer = index * eventDuration + eventDuration;
//Adds animation css classes to onpage elements:
$('#' + value).delay(delaytimer).queue(function() {
$(this).addClass('animated ' + animationArray[index]).dequeue();
});
//Once complete redirect to the home page:
if (index === 3) {
$(this).delay(delaytimer + 500).queue(function() {
window.location.replace('/').dequeue;
});
}
});
});
還歡迎任何批評上面的jquery。很確定,我不需要在位置替換結束時出現「退出」。其他任何事情都會有助於瞭解......善良! –
放一個'console.log(delaytimeer)'並檢查計算的值。把它放在這行下面'var delaytimer = index * eventDuration + eventDuration;'並在這裏發帖 – Yasser