33 lines
1.2 KiB
JavaScript
33 lines
1.2 KiB
JavaScript
// Cache DOM elements once
|
|
const countdownDays = document.getElementById("days");
|
|
const countdownHours = document.getElementById("hours");
|
|
const countdownMinutes = document.getElementById("minutes");
|
|
const countdownSeconds = document.getElementById("seconds");
|
|
|
|
const deadlineDate = new Date('December 31, 2025 23:59:59').getTime();
|
|
|
|
const intervalId = setInterval(() => {
|
|
const currentDate = new Date().getTime();
|
|
const distance = deadlineDate - currentDate;
|
|
|
|
if (distance <= 0) {
|
|
clearInterval(intervalId);
|
|
countdownDays.innerHTML = "0";
|
|
countdownHours.innerHTML = "0";
|
|
countdownMinutes.innerHTML = "0";
|
|
countdownSeconds.innerHTML = "0";
|
|
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);
|
|
|
|
// Only update if values change (optional, for performance)
|
|
countdownDays.textContent = days;
|
|
countdownHours.textContent = hours;
|
|
countdownMinutes.textContent = minutes;
|
|
countdownSeconds.textContent = seconds;
|
|
}, 1000);
|