2010-05-07 93 views
1

在下面的一段代碼中,我創建了一個進度條,並顯示它的進度,因爲ajax請求得到處理。多個Ajax請求和進度條

我僞裝這裏顯示的進度只需要添加5到cnt計數器變量之後,我做了一個 檢查時,計數器達到90.在這一點上,如果請求沒有成功執行,那麼我會暫停/禁用進度條和每當響應來我會完成整個進度欄100.

現在的問題是我想添加多個進度條,因爲我射擊多個Ajax請求。所以下面是隻爲一個請求和一個進度條實現的代碼,但我想要它多於一個。爲全局變量用於在這裏檢查響應和定時器的ID,所以我不知道有多好,我可以處理它的多個請求

var cnt=0; 
var res=null; 

function getProgress(data){ 

res=data; 

} 
var i =0; 
$('#start').click(function(){ 

i = setInterval(function() { 

if(res!=null) 
{ 

    clearInterval(i); 
    $("#pb1").progressbar("option", "value", cnt=cnt+100); 
} 
var value = $("#pb1").progressbar("option", "value"); 
if(value >=90 && res==null){ 
$("#pb1").progressbar("option", "disable"); 
} 
else{ 
$("#pb1").progressbar("option", "value", cnt=cnt+5); 
} 

},2500); 

$.ajax({ 
url: 'http://localhost/beta/demo.php', 
success: getProgress 
}); 


}); 


$("#pb1").progressbar({ 

value: 0 , 
change: function(event, ui) { 

if(res!=null) 
clearInterval(i); 

} 
}); 

回答

0

如何使用對象,而不是變量?您創建一個包含所有變量的對象,然後創建與您擁有的進度條一樣多的副本。

此處瞭解詳情:http://www.javascriptkit.com/javatutors/oopjs.shtml

+0

很好,但我想我需要對象的數組爲每個請求我需要3個變量,甚至我需要跟蹤的所有對象的創建 – hunt 2010-05-07 10:33:38