52 lines
1.1 KiB
JavaScript
52 lines
1.1 KiB
JavaScript
|
"use strict";
|
||
|
|
||
|
let countdown_h1;
|
||
|
|
||
|
window.addEventListener("load", function(){
|
||
|
// STORE ELEMENTS //
|
||
|
countdown_h1 = document.getElementById("countdown-h1");
|
||
|
|
||
|
|
||
|
// PERIODIC REDRAW //
|
||
|
countdown_redraw();
|
||
|
setInterval(countdown_redraw, 3000);
|
||
|
});
|
||
|
|
||
|
|
||
|
|
||
|
/**
|
||
|
* SCHEDULED: Update countdown text.
|
||
|
*/
|
||
|
async function countdown_redraw(){
|
||
|
// CALCULATE TIME DIFF //
|
||
|
let now = new Date();
|
||
|
let goal = new Date(2024, (8 -1), 1, 8, 0);
|
||
|
let difference = Math.max(0, goal.getTime() - now.getTime());
|
||
|
|
||
|
// days
|
||
|
let days_raw = Math.floor(difference / (24 * 60 * 60 * 1000));
|
||
|
let days = days_raw;
|
||
|
|
||
|
// hours
|
||
|
let hours_raw = Math.floor((difference - (days_raw * 86400000)) / (3600000));
|
||
|
let hours = (hours_raw < 10 ? ("0" + hours_raw) : hours_raw);
|
||
|
|
||
|
// minutes
|
||
|
let minutes_raw = Math.floor((difference - (days_raw * 86400000) - (hours_raw * 3600000)) / (60000));
|
||
|
let minutes = (minutes_raw < 10 ? ("0" + minutes_raw) : minutes_raw);
|
||
|
|
||
|
|
||
|
// FORMAT TEXT //
|
||
|
// start with days
|
||
|
let formatted = days + "d";
|
||
|
|
||
|
// add hours
|
||
|
formatted += " " + hours + "h";
|
||
|
|
||
|
// add minutes
|
||
|
formatted += " " + minutes + "m";
|
||
|
|
||
|
// set text
|
||
|
countdown_h1.textContent = formatted;
|
||
|
}
|