JSFiddle - React, Tailwind, and code Playground
by Michael Prosser
JavaScript
var start_times = Array(0,5,10,15,20,25,30,35,40,45,50,55,60);
var start_at = -1;
var start_in = 0;
var can_play = false;
setInterval(function(){
var d = new Date();
var m = d.getMinutes();
var s = d.getSeconds();
for(i=0;i<start_times.length;i++){
if((m >= start_times[i]) && (m < start_times[i+1])){
start_at = start_times[i+1];
if(start_at == m){
start_in = 0;
} else {
start_in = parseInt(start_at-m-1);
}
if(can_play){
$('body').html("TIME REMAINING " + start_in + ":" + pad(parseInt(50-s),2));
} else {
$('body').html("NEXT RACE STARTS IN " + start_in + ":" + pad(parseInt(60-s),2));
}
if((start_in == 0) && (s >= 50)){
can_play = false;
$('body').html('<span style="font-size:55px;">' + parseInt(60-s) + '<span>');
}
if((start_in == 0) && (s == 59)){
can_play = true;
}
}
}
}, 1000);
function pad(num, size) {
var s = num+"";
while (s.length < size) s = "0" + s;
return s;
}