← Все вопросы
Как сделать секундомер или таймер на странице — мой первый проект с временем
5
Хочу сделать секундомер: кнопка «старт», и на странице бегут секунды. Слышал, что для этого нужен какой-то setInterval, но не понимаю, как он работает и как потом остановить отсчёт. Можете показать самый простой вариант?
1 ответ
10
✓ Принятый ответ — помог автору
setInterval — это «повторяй эту функцию каждые N миллисекунд». Вот секундомер целиком:
<p id="time">0</p>
<button onclick="start()">Старт</button>
<button onclick="stop()">Стоп</button>
<script>
let seconds = 0;
let timer = null;
function start() {
if (timer !== null) return; // не запускаем второй раз
timer = setInterval(() => {
seconds++;
document.getElementById('time').textContent = seconds;
}, 1000);
}
function stop() {
clearInterval(timer);
timer = null;
}
</script>
setInterval(..., 1000) вызывает функцию раз в секунду и возвращает «номер» таймера. Чтобы остановить — передаём этот номер в clearInterval. Проверка if (timer !== null) нужна, чтобы по двойному нажатию «Старт» секунды не побежали в два раза быстрее (частая ошибка новичков).
Ваш ответ
, чтобы ответить на вопрос.