Search code examples
javascripthtmlcountdowntimer

Simple countdown timer mm:ss


I want to create a simple countdown timer.

I found something and its working for hours minute and seconds, I want only minutes:seconds...

how can I make the same timer for mm:ss format?

var seconds;
var temp;

function countdown() {
     time = document.getElementById('countdown').innerHTML;
     timeArray = time.split(':')
     seconds = timeToSeconds(timeArray);

     if (seconds == '') {
          temp = document.getElementById('countdown');
          temp.innerHTML = "00:00:00";
          return;
     }

     seconds--;

     temp = document.getElementById('countdown');
     temp.innerHTML = secondsToTime(seconds);
     timeoutMyOswego = setTimeout(countdown, 1000);
}

function timeToSeconds(timeArray) {
     var minutes = (timeArray[0] * 60) + (timeArray[1] * 1);
     var seconds = (minutes * 60) + (timeArray[2] * 1);
     return seconds;
}

function secondsToTime(secs) {
     var hours = Math.floor(secs / (60 * 60));
     hours = hours < 10 ? '0' + hours : hours;

     var divisor_for_minutes = secs % (60 * 60);
     var minutes = Math.floor(divisor_for_minutes / 60);
     minutes = minutes < 10 ? '0' + minutes : minutes;

     var divisor_for_seconds = divisor_for_minutes % 60;
     var seconds = Math.ceil(divisor_for_seconds);
     seconds = seconds < 10 ? '0' + seconds : seconds;
     return hours + ':' + minutes + ':' + seconds;
}

countdown();

here is the html

<div id="countdown">01:02:15</div>

Solution

  •     var seconds;  
        var temp;
        console.clear();
    
        function countdown() {
             time = document.getElementById('countdown').innerHTML;
             timeArray = time.split(':')
             seconds = timeToSeconds(timeArray);
    
             if (seconds == '') {
                  temp = document.getElementById('countdown');
                  temp.innerHTML = "00:00";
    
                  return;
             }
             seconds--;
             temp = document.getElementById('countdown');
             temp.innerHTML= secondsToTime(seconds);
             timeoutMyOswego = setTimeout(countdown, 1000);        
        }
    
        function timeToSeconds(timeArray) {  
             var minutes = (timeArray[0] * 1);
             var seconds = (minutes * 60) + (timeArray[1] * 1);
             return seconds;
        }
    
        function secondsToTime(secs) {
             var hours = Math.floor(secs / (60 * 60));
             hours = hours < 10 ? '0' + hours : hours;
             var divisor_for_minutes = secs % (60 * 60);
             var minutes = Math.floor(divisor_for_minutes / 60);
             minutes = minutes < 10 ? '0' + minutes : minutes;
             var divisor_for_seconds = divisor_for_minutes % 60;
             var seconds = Math.ceil(divisor_for_seconds);
             seconds = seconds < 10 ? '0' + seconds : seconds;            
             return  minutes + ':' + seconds;   
        }
    
        countdown();
    

    https://jsfiddle.net/santoshj/jex1f8uv/