Пыталась сделать отсчет времени, однако консоль выдает ошибку 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);