у меня такой вопрос: почему, для того, чтобы отсчет шел до 0, нужно i = -2(Естественно когда i = 0, отсчет идет до 2). Вот код:
let output = document.getElementById('output');
let i = 9;
let id;
id = setInterval(function() {
output.innerHTML = i;
i--;
if (i == -2) {
output.innerHTML = 'Отсчёт завершен.';
clearInterval(id);
}
}, 300);
<div id='output'>10</div>
Заранее спасибо, и извините, если здесь этот вопрос оказался глупым, новичок.
Потому что, если Вы хотите видеть "0" в течение интервала таймера (как все остальные числа), то Вам нужно, чтобы таймер сработал еще раз со значением i на входе в него -1. В этот момент output.innerHTML становится "-1", но еще не успевает отрисоваться. Потом i уменьшается еще на единицу i--;и становится -2. A output.innerHTML меняется на "Отсчёт завершен.".
Измени логику, будет легче понять код:
id = setInterval(function() {
output.innerHTML = i;
if (i < 0) {
output.innerHTML = 'Отсчёт завершен.';
clearInterval(id);
}
i--;
}, 300);
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости