1
循環我有這樣的代碼:的JavaScript擺脫與超時
$(function(){
var steps = ["download","unpack","install","installed"];
for(var i = 1; i <= steps.length; i++){
setTimeout(function(){
if(updater(steps[i]) === false) break; // if update fails
else{
var progress = (i/steps.length) * 100;
$("div#update div.progress div.progress-bar").animate({
width : progress+"%"
}).attr("aria-valuenow", progress);
}
, 5000)
}
if(steps.length === i){ // update is fully installed
alertBox("success", "Congratulations, a new version of the SocialTab 3 has been installed.", 31556952000);
}
else{ // update failed
alertBox("error", "<p>Update failed!</p><p>"+updateError+"</p>", 31556952000);
}
});
當我這樣做,我不能使用break
,因爲它應該被用在for循環,這不是因爲我把它放在setTimeout函數中。 我想知道如何擺脫for循環,並仍然延遲setTimeout函數中的代碼。
謝謝,就像一個魅力的工作! – SheperdOfFire
我不能給你打倒那個暱稱...所以我做到了:) – bgusach
@ ikaros45哈哈傻暱稱,確實如此。 – DontVoteMeDown