У меня есть индикатор прогресса в Bootstrap, который заполняет каждые 1 сек. c 10% от индикатора выполнения.
Проблема в том, что сайт отстает от всего браузера (chrome), но почему?
Это мой код, который заполняет индикатор прогресса
var isPaused = false;
$(window).scroll(function(){
var ScrollTop = parseInt($(window).scrollTop());
if (ScrollTop > 10) {
isPaused = true;
} else {
isPaused = false;
}
});
var timeleft = 1;
var table_updated = 0;
var timeleft_zahl = 10;
var tick = function() {
if(!isPaused && $("#page-1").hasClass("active") && !$(".modal").hasClass("show")) {
document.getElementById("progressBar").style.width = timeleft*10+"%";
document.getElementById("refreshcountdown").innerHTML = timeleft_zahl-1;
timeleft += 1;
timeleft_zahl -= 1;
if(timeleft >= 11){
notificationcheck();
timeleft = 0;
timeleft_zahl = 11;
if(table_updated >= 10) {
location.reload();
table_updated = 0;
} else {
get_table_data(1);
table_updated += 1;
}
}
}
}
timer = setInterval(tick, 1000);
Так что все просто. У меня есть несколько опций, таких как isPaused
и некоторые другие, которые останавливают заполнение индикатора выполнения, когда пользователь прокручивает его, чем он должен остановиться.
Но почему он задерживается? Интервал запускается каждые 1000 (т. е. 1 se c), чтобы заполнить каждые 1 se c 10%, если isPaused false, и другой, если все верно