no more mr nice countdown
This commit is contained in:
parent
cebd94c3cb
commit
3c781b4265
@ -89,5 +89,4 @@
|
|||||||
|
|
||||||
<script type="module" src="js/imports.js"></script>
|
<script type="module" src="js/imports.js"></script>
|
||||||
<script src="js/global.js" defer></script>
|
<script src="js/global.js" defer></script>
|
||||||
<script src="js/index.js" defer></script>
|
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
67
js/index.js
67
js/index.js
@ -1,67 +0,0 @@
|
|||||||
const title = document.getElementById("title");
|
|
||||||
|
|
||||||
// This is for the AP exam timer.
|
|
||||||
const examStart = new Date("May 3, 2023 12:00");
|
|
||||||
const examEnd = new Date("May 3, 2023 15:30");
|
|
||||||
|
|
||||||
const examElement = document.createElement("h3");
|
|
||||||
const examLink = document.createElement("a");
|
|
||||||
examElement.append(examLink);
|
|
||||||
examLink.href = "/news/ap-exam.html";
|
|
||||||
examLink.id = "ap-timer";
|
|
||||||
examLink.target = "_blank";
|
|
||||||
if (title != undefined)
|
|
||||||
{
|
|
||||||
// Add the newly created AP exam countdown element.
|
|
||||||
title.append(examElement);
|
|
||||||
|
|
||||||
// Enable the AP exam countdown.
|
|
||||||
updateCountdown();
|
|
||||||
setInterval(updateCountdown, 1000);
|
|
||||||
}
|
|
||||||
|
|
||||||
function updateCountdown()
|
|
||||||
{
|
|
||||||
// Difference between now and the desired date in milliseconds.
|
|
||||||
const now = new Date(Date.now());
|
|
||||||
var mode = "waiting";
|
|
||||||
|
|
||||||
var difference = examStart - now;
|
|
||||||
if (difference < 0)
|
|
||||||
{
|
|
||||||
difference = examEnd - now;
|
|
||||||
mode = "doing";
|
|
||||||
}
|
|
||||||
if (difference < 0)
|
|
||||||
{
|
|
||||||
difference = -difference;
|
|
||||||
mode = "done";
|
|
||||||
}
|
|
||||||
|
|
||||||
// Get minutes and seconds from decimal hours.
|
|
||||||
var deciHours = difference / (1000 * 60 * 60);
|
|
||||||
var deciMinutes = (deciHours % 1) * 60;
|
|
||||||
var deciSeconds = (deciMinutes % 1) * 60;
|
|
||||||
|
|
||||||
var hours = Math.floor(deciHours);
|
|
||||||
var minutes = Math.floor(deciMinutes);
|
|
||||||
var seconds = Math.floor(deciSeconds);
|
|
||||||
|
|
||||||
// Construct string and assign it.
|
|
||||||
var string = `${hours}:${("0" + minutes).slice(-2)}:${("0" + seconds).slice(-2)}`;
|
|
||||||
switch (mode)
|
|
||||||
{
|
|
||||||
case "waiting":
|
|
||||||
string += " until the AP exam begins!";
|
|
||||||
break;
|
|
||||||
|
|
||||||
case "doing":
|
|
||||||
string += " until the AP exam ends!";
|
|
||||||
break;
|
|
||||||
|
|
||||||
case "done":
|
|
||||||
string += " since the AP exam has been completed!";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
examLink.textContent = string;
|
|
||||||
}
|
|
||||||
Loading…
x
Reference in New Issue
Block a user