← Все вопросы

Как сделать секундомер или таймер на странице — мой первый проект с временем

Задан 30 месяцев назад1.3к просмотров1 ответ
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) нужна, чтобы по двойному нажатию «Старт» секунды не побежали в два раза быстрее (частая ошибка новичков).

Ваш ответ

, чтобы ответить на вопрос.