我在脚本上遇到了一些问题
我无法理解为什么我的计时器仍在继续“分钟”和“secondes”=== 0 第二件事,如果我正在重新加载我的计时器页面。
let get_sec = sessionStorage.getItem('sec_storage');
let get_min = sessionStorage.getItem('min_storage');
if (!get_sec && !get_min){
//Sessionstorage vide
secondes = 10;
minutes = 0;
}
let interval = setInterval(function () {
secondes--;
sessionStorage.setItem('sec_storage', get_sec);
sessionStorage.setItem('min_storage', get_min);
$('#count-timer').text('Expiration in : ' + minutes + ' minutes ' + secondes + ' secondes ');
if (secondes === 0) {
minutes--;
secondes = 59;
}
if(minutes <= 0 && secondes <= 0){
clearInterval(interval);
sessionStorage.removeItem('sec_storage');
sessionStorage.removeItem('min_storage');
$('#count-timer').text('Sorry, reservation expired');
}
}, 1000);
答案 0 :(得分:1)
在这些块中
if (secondes === 0) {
minutes--;
secondes = 59;
}
if(minutes <= 0 && secondes <= 0){
clearInterval(interval);
sessionStorage.removeItem('sec_storage');
sessionStorage.removeItem('min_storage');
$('#count-timer').text('Sorry, reservation expired');
}
如果secondes
值为=== 0,则将其更改为59.因此,在您的上一个if
中,secondes
永远不会低于0且{{1}永远不会被称为
在您的第一个clearInterval(interval);
区块中添加此验证
if