JSFiddle - React, Tailwind, and code Playground
by LyndseyB
HTML
<div id="counter"></div>
JavaScript
var startTime, countAmt, interval;
function now() {
return ((new Date()).getTime());
}
function tick() {
var elapsed = now() - startTime;
var cnt = countAmt - elapsed;
var elem = document.getElementById("counter");
if (cnt > 0) {
elem.innerHTML = Math.round(cnt / 1000);
} else {
elem.innerHTML = "0";
clearInterval(interval);
}
}
function startTimer(secs) {
clearInterval(interval);
document.getElementById("counter").innerHTML = secs;
countAmt = secs * 1000;
startTime = now();
interval = setInterval(tick, 1000);
}
startTimer(20);