Я пытаюсь сделать цикл for, который позволяет мне создать требуемое число setIntervals, но есть проблема с clearInterval.
Я хочу остановить только один setInterval, но если я этого хочу, я считаю, что я должен поместить все setIntervals в переменные, верно?
Но проблема в том, что число setInterval может измениться, и я не хочу делать переключение для каждого значения этого числа и объявлять слишком много переменных, это будет бесконечно.
Есть ли другой способ остановить setIntervals один за другим?
Мой код:
var width = 0;
var progress;
$(function(){
$.ajax({
type : 'get',
dataType: 'json',
url : 'controller/game/ajaxProgressGame.php',
}).done(function(data){
for(let i = 0 ; i < data.length - 1; i += 2)
{
goProgress = setInterval(function(){
progressBarChose(data[i],data[i+1])
},10);
/*setTimeout(function(){
clearInterval(goProgress);
},1100);*/
}
});
});
function progressBarChose(idGame,percentage)
{
if(width >= percentage )
{
clearInterval(goProgress);
} else {
width++;
$('#progressBar'+idGame).css('width' , width +'%' );
$('#progressBar'+idGame+' p').html(Math.floor(width) + '%');
}
}
Я хочу изменить clearInterval (goProgress) на clearInterval один за другим, потому что здесь он очищает все интервалы, и я не хочу использовать clearInterval в setTimeout.
Спасибо!