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;
}