int = setInterval(function() {
x++;
r.innerHTML = x;
}, 1);
if (x >= 1500)
{
clearInterval(int);
x = 0;
r.innerHTML = "0";
}
}
кто знает почему интервал не останавливается при достижении x = 1500 ?
У тебя условие if( x >= 1500) вызывается не в той функции, которую ты передал на исполнение setInterval У тебя это условие выполняется единожды: после создания интервала, прямо перед завершением функции start()
setInterval - асинхронная функция. это значит, что start() закончит свое выполнение, не дожидаясь пока интервал отработает
/ var x = 0; var int; function start() { int = setInterval(function() { x++; console.log(x); if (x >= 1500) { clearInterval(int); x = 0; } }, 1); }
а че 1500 и время 1? оптимально 400 600 или requestAnimationFrame мне кажись стеку хана будет при 1ms и там даж рендер не отработает
Обсуждают сегодня