Я динамически обновляю несколько элементов после функции setTimeout()
. Функция jQuery .text()
, как представляется, динамически обновляется при каждом изменении индекса массива при обработке. Но индикатор прогресса bootstrap, который изменяется с помощью .css()
и .attr()
, как представляется, не динамически обновляется. Вот моя страница: http://imdbnator.com/process.php?id=f144caf0843490c0d3674113b03da0c5&redirect=false
Вы можете видеть, что текст изменяется, но индикатор выполнения заканчивается только после завершения всей функции setTimeout()
. Кроме того, если я установил delay = 1000
. Оно работает. Но он замедляется приложением. Поэтому мне нужно delay = 0
. Но почему не изменяется прогрессбар?
Вот мой фрагмент
function launch(a) {
var inc = 0;
var maxc = a.length;
var delay = 0; // delay milliseconds
var iID = setInterval(function () {
var index = inc;
var movie = a[inc];
//start processing function
//styling while processing
var markerPer = ((index + 1) / rawListNum) * 100; // marker percentage
$("#procNum").text("(" + (index + 1) + "/" + rawListNum + ")"); //Processing number
$("#procMovie").text(movie); //Processing Name
$("div[role='progressbar']").css("width", markerPer + "%").attr("aria-valuenow", markerPer); // progress bar -> DOES NOT WORK
if (++inc >= maxc) clearInterval(iID);
},
delay);
}