Задать вопрос
@Madsh
Только начинаю изучать Js

Почему выдает ошибку Uncaught TypeError: daysEl is null?

Пыталась сделать отсчет времени, однако консоль выдает ошибку Uncaught TypeError: daysEl is null. Я понимаю, что ошибка явно в получении данных, в создании констант, но не понимаю где именно она, чтобы ее исправить. Подскажите, пожалуйста.

<body>

    <h1>Time left for my birthday</h1>
    <div class="countdown">
        <div class="counter-el days-c">
            <p class="big-text" id="days">0</p>
            <span>days</span>
        </div>
        <div class="counter-el hours-c">
            <p class="big-text" id="hours">0</p>
            <span>hours</span>
        </div>
        <div class="counter-el mins-c">
            <p class="big-text" id="mins">0</p>
            <span>mins</span>
        </div>
        <div class="counter-el sec-c">
            <p class="big-text" id="seconds">0</p>
            <span>second</span>
        </div>
    </div>
</body>


const daysEl = document.getElementById("days");
const hoursEl = document.getElementById("hours");
const minsEl = document.getElementById("mins");
const secondsEl = document.getElementById("seconds");
const newYears = "01 January 2022";


function countdown() {
    const newYearDate = new Date(newYears);
    const currentDate = new Date();

    const totalSeconds = (newYearDate - currentDate) / 1000;

    const days = Math.floor(totalSeconds / 3600 / 24);
    const hours = Math.floor(totalSeconds / 3600) % 24;
    const minutes = Math.floor(totalSeconds / 60) % 60;
    const seconds = Math.floor(totalSeconds) % 60;

    daysEl.innerHTML = days;
    hoursEl.innerHTML = formatTime(hours);
    minsEl.innerHTML = formatTime(minutes);
    secondsEl.innerHTML = formatTime(seconds);
}

function formatTime(time) {
    return time < 10 ? `0${time}` : time;
}

countdown();
setInterval(countdown, 1000);
  • Вопрос задан
  • 47 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы