ekoetki/public/assets/js/count_down.js

37 lines
1.4 KiB
JavaScript

window.addEventListener('load', () => {
const countDownDate = new Date('December 31, 2025 23:59:59').getTime();
const timerElements = Array.from(document.querySelectorAll('.timer')).map(timer => ({
timer,
daysEl: timer.querySelector('.days'),
hoursEl: timer.querySelector('.hours'),
minutesEl: timer.querySelector('.minutes'),
secondsEl: timer.querySelector('.seconds'),
}));
const intervalId = setInterval(() => {
const now = new Date().getTime();
const distance = countDownDate - now;
if (distance < 0) {
clearInterval(intervalId);
const demo = document.getElementById('demo');
if (demo) demo.innerHTML = 'EXPIRED';
return;
}
const days = Math.floor(distance / (1000 * 60 * 60 * 24));
const hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
const minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
const seconds = Math.floor((distance % (1000 * 60)) / 1000);
// Update cached DOM references
timerElements.forEach(({ daysEl, hoursEl, minutesEl, secondsEl }) => {
if (daysEl) daysEl.innerHTML = days;
if (hoursEl) hoursEl.innerHTML = hours;
if (minutesEl) minutesEl.innerHTML = minutes;
if (secondsEl) secondsEl.innerHTML = seconds;
});
}, 1000);
});