Имеется такой код:
let timer; // пока пустая переменная
let x = 40; // стартовое значение обратного отсчета
countdown(); // вызов функции
function countdown(){ // функция обратного отсчета
document.getElementById('timer').innerHTML = x;
x--; // уменьшаем число на единицу
document.addEventListener('visibilitychange', () => {
if (document.hidden) {
document.title = 'Пожалуйста, вернитесь на страницу!';
let timer = document.getElementById('timer').innerHTML;
clearTimeout(timer);
}
else {
document.title = $('.showframe').attr('id');
}
$(document).ready(function(){
setTimeout(function(){
frame_loaded();
}, 10000);
});
});
if (x < -1){
clearTimeout(timer); // таймер остановится на нуле
document.getElementById('timer').innerHTML = 'Готово';
}
else {
timer = setTimeout(countdown, 1000);
}
}
Пробовал своими силами смастерить, но безрезультатно...
Необходимый цикл выполнения:
При активном окне таймер должен работать как положено, если окно перестало быть активным - таймер должен остановиться, при возврате пользователя на страницу таймер должен возобновиться с той секунды на которой остановился при уходе пользователя со страницы.
Помогите пожалуйста.