【发布时间】:2020-02-23 09:19:52
【问题描述】:
如何在这段代码中添加存储空间?
当用户刷新页面时,我希望倒计时不从0开始。谢谢
function getRandomInt(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
function random_countdown(hour_sel, min_sel, sec_sel) {
random_hour = getRandomInt(3, 3)
random_min = getRandomInt(14, 14)
random_sec = getRandomInt(59, 59)
setInterval(function() {
random_sec = random_sec - 1;
if (random_sec < 0) {
random_sec = 59
random_min = random_min - 1
}
if (random_min < 0) {
random_min = 59
random_hour = random_hour - 1
}
jQuery(hour_sel).text(random_hour)
jQuery(min_sel).text(random_min)
jQuery(sec_sel).text(random_sec)
// console.log (random_hour+' '+random_min+' '+random_sec)
}, 1000)
}
random_countdown('.hours_sel', '.minutes_sel', '.seconds_sel')
【问题讨论】:
-
setTimeout 不准确。使用 setTimeout,您的函数所做的是“在 1000 毫秒后的某处运行此代码”。我猜这不是主要问题,但如果您在一个选项卡中运行程序,然后切换到另一个选项卡,setTimeout 将不会运行(我认为)。相反,请使用 requestForAnimationFrame 并计算当前时间与您第一次设置的随机时间之间的差异。
-
我阅读了这篇文章,但不幸的是我无法更改代码。例如,我希望它从 3 小时开始。我试图修改代码,但它不起作用:(
标签: javascript storage countdown