I have modified the answer from: this post to store the time in local storage. That means that if you refresh your browser the countdown will continue where it stopped.
HTML
<body>
<div><span id="time"></span></div>
</body>
JavaScript
var time = 5
function startTimer(duration, display) {
var timer = duration;
setInterval(function() {
minutes = parseInt(timer / 60, 10)
seconds = parseInt(timer % 60, 10);
minutes = minutes < 10 ? "0" + minutes : minutes;
seconds = seconds < 10 ? "0" + seconds : seconds;
display.textContent = minutes + ":" + seconds;
localStorage.minutes = minutes;
localStorage.seconds = seconds;
// localStorage.removeItem('minutes')
//localStorage.removeItem('seconds')
if (--timer < 0) {
localStorage.removeItem('minutes')
localStorage.removeItem('seconds')
timer = 5;
}
}, 1000);
}
window.onload = function() {
if (Number(localStorage.seconds) < time) {
var seconds = Number(localStorage.minutes) * 60
console.log(seconds)
time = Number(localStorage.seconds) + seconds
}
display = document.querySelector('#time');
startTimer(time, display);
};