Phase 2.1
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
function dayNowMinute() {
|
||||
const now = new Date();
|
||||
return now.getHours() * 60 + now.getMinutes() + now.getSeconds() / 60;
|
||||
}
|
||||
|
||||
function dayUpdateNowLine() {
|
||||
document.querySelectorAll('[data-live-now-line]').forEach(line => {
|
||||
line.style.left = `calc(${dayNowMinute()} * var(--minute-width))`;
|
||||
});
|
||||
}
|
||||
|
||||
function dayUpdateProgrammeStates() {
|
||||
const now = Math.floor(Date.now() / 1000);
|
||||
|
||||
document.querySelectorAll('[data-live-programme]').forEach(programme => {
|
||||
const start = Number(programme.dataset.liveStart);
|
||||
const stop = Number(programme.dataset.liveStop);
|
||||
|
||||
programme.classList.toggle('is-current', now >= start && now < stop);
|
||||
programme.classList.toggle('is-past', now >= stop);
|
||||
});
|
||||
}
|
||||
|
||||
function dayTick() {
|
||||
dayUpdateNowLine();
|
||||
dayUpdateProgrammeStates();
|
||||
}
|
||||
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
dayTick();
|
||||
setInterval(dayTick, 1000);
|
||||
});
|
||||
Reference in New Issue
Block a user