2011-09-28 102 views
3
function DC() { 
    var elements = $(".panel"); 
    elements.first().fadeOut(1000, function() { 
     $(this).insertAfter(elements.last()); 
     $(this).fadeIn(1000); 
    }); 
} 

$(document).ready(function() { 
    var i =0; 
    for (var i=0; i < 10; i++) { 
     DC(); 
    }; 
}); 

我想要DC()循環10次,但它只循環一次。loop in javascript

我做錯了什麼?

+0

爲什麼你創建你的VAR我2次? 'for(var i = 0; i <10; i ++)'應該足以創建你的var i。要嘗試找出你的循環是否真的打了一遍,添加警報或檢查:) – Snicksie

+0

輸入錯誤,對不起:) – Xitrum

+0

修復了你的格式。請下次再小心一點。 –

回答

5

DC連續10次啓動fadeOut。如果你希望你的元素淡出並回10次,那麼你應該調用DC作爲fadeIn的回調。

elements.first().fadeOut(1000, function() { 
    $(this).insertAfter(elements.last()); 
    $(this).fadeIn(1000, DC); 
}); 
3

mpartel是在正確的您可能需要調用DC作爲回調 - 但爲了確保它不會永遠運行,你需要覈對計數:

var count = 0; 

function DC() { 

    elements.first().fadeOut(1000, function() { 
     if(count >= 10) return; 
     count++; 
     $(this).insertAfter(elements.last()); 
     $(this).fadeIn(1000, DC); 
    }); 
}