在下面的一段代码中,我创建了一个进度条,并在处理ajax请求时显示其进度。
我伪造了这里显示的进度只是通过在cnt计数器变量中添加5来之后我做了一个 检查计数器何时达到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 :(得分:0)
如何使用Objects而不是变量?您创建一个包含所有变量的对象,然后创建与您拥有的进度条一样多的副本。