Главная » Блог » Скрипт отсчёта до мероприятия: как добавить таймер на сайт

Скрипт отсчёта до мероприятия: как добавить таймер на сайт

03.01.2026 15:02

Таймер обратного отсчёта — интерактивный элемент, показывающий, сколько времени осталось до важного события: старта продаж, вебинара, акции или праздника. Он повышает вовлечённость пользователей, создаёт ощущение срочности и стимулирует к действию. В статье — полный комплект для внедрения: HTML‑разметка, CSS‑стили и JavaScript‑код с пояснениями.

Скрипт отсчёта до мероприятия: как добавить таймер на сайт

Зачем нужен таймер обратного отсчёта

Таймер решает сразу несколько задач:

  • Вовлекает пользователя — динамичный элемент привлекает внимание лучше статичного текста.
  • Создаёт эффект срочности — «осталось 3 дня» мотивирует быстрее принять решение.
  • Информирует чётко — пользователь видит точное время до события без расчётов.
  • Повышает конверсию — в e‑commerce таймеры акций увеличивают продажи.
  • Улучшает UX — понятный визуальный индикатор снижает когнитивную нагрузку.

Как работает скрипт таймера

Базовый принцип: JavaScript вычисляет разницу между текущей датой и целевой, затем обновляет интерфейс каждую секунду.

  • Задаётся целевая дата (например, «2026‑12‑31 23:59:59»).
  • Скрипт получает текущее время в миллисекундах.
  • Вычисляется разница (timeLeft) в миллисекундах.
  • Разница преобразуется в дни, часы, минуты (и секунды — при необходимости).
  • Значения подставляются в соответствующие элементы DOM.
  • Процесс повторяется каждую секунду через setInterval.

Как внедрить таймер на сайт

Вставьте в нужное место страницы код отсчета:

<div class="countdown">
    <div class="time-unit">
        <span class="days">00</span>
        <span class="unit-label">д</span>
    </div>
    <div class="time-unit">
        <span class="hours">00</span>
        <span class="unit-label">ч</span>
    </div>
    <div class="time-unit">
        <span class="minutes">00</span>
        <span class="unit-label">м</span>
    </div>
</div>


Далее необходимо подключить файл стилей style.css со следующим содержимым:

.countdown {
  display: flex;
  justify-content: center;
  gap: 12px;
  font-size: 14px;
}
.time-unit {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.time-unit span:first-child {
  background-color: rgba(0, 0, 0, 0.2);
  padding: 2px 6px;
  border-radius: 3px;
  font-size: 18px;
  font-weight: bold;
}
.unit-label {
  margin-top: 4px;
  font-size: 11px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}


И перед закрывающим тегом </body> подключаем файл со скриптом script.js следующего содержания:

document.addEventListener('DOMContentLoaded', function() {
  // Укажите целевую дату и время (формат: 'ГГГГ-ММ-ДД ЧЧ:ММ:СС')
  const targetDate = new Date('2026-12-31 23:59:59').getTime();

  function updateCountdown() {
    const now = new Date().getTime();
    const timeLeft = targetDate - now;

    // Если время вышло — останавливаем таймер
    if (timeLeft < 0) {
      document.querySelector('.days').textContent = '00';
      document.querySelector('.hours').textContent = '00';
      document.querySelector('.minutes').textContent = '00';
      return;
    }

    // Вычисляем дни, часы, минуты
    const days = Math.floor(timeLeft / (1000 * 60 * 60 * 24));
    const hours = Math.floor((timeLeft % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
    const minutes = Math.floor((timeLeft % (1000 * 60 * 60)) / (1000 * 60));

    // Обновляем отображение
    document.querySelector('.days').textContent = String(days).padStart(2, '0');
    document.querySelector('.hours').textContent = String(hours).padStart(2, '0');
    document.querySelector('.minutes').textContent = String(minutes).padStart(2, '0');
  }

  // Запускаем обновление каждую секунду
  setInterval(updateCountdown, 1000);

  // Сразу запускаем первый расчёт
  updateCountdown();
});

Преимущества готовой реализации

  • Простота — не требует сторонних библиотек.
  • Гибкость — легко настроить внешний вид и логику.
  • Кроссбраузерность — работает в современных браузерах.
  • Оптимизирован — минимальный объём кода, нет лишней нагрузки.

Таймер обратного отсчёта — эффективный инструмент для вовлечения пользователей и повышения конверсии. С помощью приведённого кода вы за 5–10 минут добавите на сайт работающий таймер с чистым дизайном. Остаётся только задать дату события и протестировать!

вернуться в раздел «Блог»
Наверх ↑