В следующем фрагменте кода я создаю индикатор выполнения и показываю его прогресс по мере обработки запроса ajax.
Я подделываю прогресс, показанный здесь, просто добавив 5 в переменную счетчика cnt после этогоЯ сделал проверку, когда счетчик достигнет 90. В этот момент, если запрос не был выполнен успешно, я буду приостанавливать / отключать индикатор выполнения, и всякий раз, когда приходит ответ, я заполняю весь индикатор выполнения 100.
сейчаспроблема в том, что я хочу добавить несколько индикаторов выполнения, поскольку я запускаю несколько запросов AJAX.поэтому ниже приведен код для реализации только для одного запроса и одного индикатора выполнения, но я хочу, чтобы он был более одного.поскольку глобальные переменные используются здесь для проверки ответа и идентификатора таймера, поэтому я не знаю, насколько хорошо я могу обработать его для многократного запроса
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);
}
});