Skip to content

Commit 86c6b8c

Browse files
minor change
1 parent aeef885 commit 86c6b8c

2 files changed

Lines changed: 90 additions & 82 deletions

File tree

countdown/script.js

Lines changed: 34 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -17,65 +17,67 @@ let previousTime = {
1717
days: null,
1818
hours: null,
1919
minutes: null,
20-
seconds: null
20+
seconds: null,
2121
};
2222

2323
function updateProgressBar() {
2424
const now = Date.now();
2525
const totalDuration = TARGET_DATE - START_DATE;
2626
const elapsed = Math.max(0, now - START_DATE);
27-
27+
2828
let progressPercent = Math.min((elapsed / totalDuration) * 100, 100);
29-
29+
3030
if (progressPercent < 0) progressPercent = 0;
3131
if (progressPercent > 100) progressPercent = 100;
32-
32+
3333
progressFill.style.width = `${progressPercent}%`;
3434
progressMarker.style.left = `${progressPercent}%`;
35-
percentageElement.textContent = `${progressPercent.toFixed(5)}%`;
36-
35+
percentageElement.textContent = `${progressPercent.toFixed(6)}%`;
36+
3737
const daysElapsed = Math.floor(elapsed / (1000 * 60 * 60 * 24));
3838
const daysRemaining = Math.floor((TARGET_DATE - now) / (1000 * 60 * 60 * 24));
39-
39+
4040
elapsedTimeElement.textContent = `${Math.max(0, daysElapsed)} days`;
4141
remainingTimeElement.textContent = `${Math.max(0, daysRemaining)} days`;
42-
42+
4343
return progressPercent;
4444
}
4545

4646
function updateCountdown() {
4747
const now = Date.now();
4848
const distance = TARGET_DATE - now;
49-
49+
5050
if (distance <= 0) {
5151
handleCountdownComplete();
5252
return;
5353
}
54-
54+
5555
const days = Math.floor(distance / (1000 * 60 * 60 * 24));
56-
const hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
56+
const hours = Math.floor(
57+
(distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)
58+
);
5759
const minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
5860
const seconds = Math.floor((distance % (1000 * 60)) / 1000);
59-
61+
6062
updateTimeElement(daysElement, days, previousTime.days);
6163
updateTimeElement(hoursElement, hours, previousTime.hours);
6264
updateTimeElement(minutesElement, minutes, previousTime.minutes);
6365
updateTimeElement(secondsElement, seconds, previousTime.seconds);
64-
66+
6567
previousTime = { days, hours, minutes, seconds };
66-
68+
6769
updateProgressBar();
6870
}
6971

7072
function updateTimeElement(element, newValue, previousValue) {
7173
const formattedValue = newValue < 10 ? `0${newValue}` : `${newValue}`;
72-
74+
7375
if (element.textContent !== formattedValue && previousValue !== null) {
7476
element.textContent = formattedValue;
75-
element.classList.add('changed');
76-
77+
element.classList.add("changed");
78+
7779
setTimeout(() => {
78-
element.classList.remove('changed');
80+
element.classList.remove("changed");
7981
}, 500);
8082
} else if (previousValue === null) {
8183
element.textContent = formattedValue;
@@ -87,26 +89,26 @@ function handleCountdownComplete() {
8789
clearInterval(countdownInterval);
8890
countdownInterval = null;
8991
}
90-
92+
9193
daysElement.textContent = "00";
9294
hoursElement.textContent = "00";
9395
minutesElement.textContent = "00";
9496
secondsElement.textContent = "00";
95-
97+
9698
completedMessage.style.display = "block";
97-
99+
98100
progressFill.style.width = "100%";
99101
progressMarker.style.left = "100%";
100102
percentageElement.textContent = "100%";
101103
remainingTimeElement.textContent = "0 days";
102-
104+
103105
progressFill.style.animation = "shimmer 1s infinite linear";
104106
}
105107

106108
function initializeCountdown() {
107109
updateProgressBar();
108110
updateCountdown();
109-
111+
110112
countdownInterval = setInterval(updateCountdown, 1000);
111113
}
112114

@@ -119,29 +121,29 @@ function handleVisibilityChange() {
119121
} else {
120122
updateProgressBar();
121123
updateCountdown();
122-
124+
123125
if (!countdownInterval) {
124126
countdownInterval = setInterval(updateCountdown, 1000);
125127
}
126128
}
127129
}
128130

129-
document.addEventListener('DOMContentLoaded', initializeCountdown);
130-
document.addEventListener('visibilitychange', handleVisibilityChange);
131+
document.addEventListener("DOMContentLoaded", initializeCountdown);
132+
document.addEventListener("visibilitychange", handleVisibilityChange);
131133

132-
window.addEventListener('focus', () => {
133-
if (document.visibilityState === 'visible') {
134+
window.addEventListener("focus", () => {
135+
if (document.visibilityState === "visible") {
134136
updateCountdown();
135137
updateProgressBar();
136138
}
137139
});
138140

139-
window.addEventListener('error', (event) => {
140-
console.error('Countdown Timer Error:', event.error);
141-
141+
window.addEventListener("error", (event) => {
142+
console.error("Countdown Timer Error:", event.error);
143+
142144
daysElement.textContent = "91";
143145
hoursElement.textContent = "00";
144146
minutesElement.textContent = "00";
145147
secondsElement.textContent = "00";
146148
percentageElement.textContent = "0.0%";
147-
});
149+
});

0 commit comments

Comments
 (0)