JSFiddle - React, Tailwind, and code Playground
by Ufuk Ozdemir
HTML
<div class="countdown"></div>
JavaScript
var timer2 = "0:10";
var interval = setInterval(function() {
var timer = timer2.split(':');
//by parsing integer, I avoid all extra string processing
var minutes = parseInt(timer[0], 10);
var seconds = parseInt(timer[1], 10);
--seconds;
minutes = (seconds < 0) ? --minutes : minutes;
seconds = (seconds < 0) ? 59 : seconds;
seconds = (seconds < 10) ? '0' + seconds : seconds;
//minutes = (minutes < 10) ? minutes : minutes;
$('.countdown').html(minutes + ':' + seconds);
if (minutes < 0) clearInterval(interval);
//check if both minutes and seconds are 0
if ((seconds <= 0) && (minutes <= 0)) clearInterval(interval);
timer2 = minutes + ':' + seconds;
}, 1000);
function seconds(seconds) {
seconds = Number(seconds);
var m = Math.floor(seconds % 3600 / 60);
var s = Math.floor(seconds % 60);
var mDisplay = m > 0 ? m + (m == 1 ? " minute" : ":") : "00";
var sDisplay = s > 0 ? s + (s == 1 ? " second" : ":") : "00";
return mDisplay + sDisplay;
}