这个问题通常是因为倒计时在浏览器关闭前没有被正确地保存在本地存储中。为了解决这个问题,你可以在倒计时结束后将倒计时时间保存在本地存储中,然后在网站重新加载时检查本地存储中是否存在尚未完成的倒计时。以下是一个示例代码:
// 设置倒计时时间为10秒 let countdownTime = 10;
function startCountdown() { let countdownInterval = setInterval(function() { countdownTime--; console.log(countdownTime); if (countdownTime <= 0) { clearInterval(countdownInterval); console.log('Countdown finished!'); // 将倒计时完成时间保存在本地存储中 localStorage.setItem('countdownFinished', Date.now()); } }, 1000); }
// 检查本地存储中是否存在未完成的倒计时 if (localStorage.getItem('countdownFinished')) { let countdownFinished = localStorage.getItem('countdownFinished'); let msSinceCountdownFinished = Date.now() - countdownFinished; // 如果倒计时已经完成,不再执行倒计时 if (msSinceCountdownFinished >= countdownTime * 1000) { console.log('Countdown already finished.'); } else { // 如果倒计时尚未完成,重新开始倒计时 countdownTime = Math.ceil((countdownTime * 1000 - msSinceCountdownFinished) / 1000); startCountdown(); } } else { // 如果本地存储中没有记录,开始新的倒计时 startCountdown(); }
上一篇:本地存储待办事项清单的问题
下一篇:本地存储导致页面不更新