javascript - 让 coutdown 使用 localStorage
问题描述
我正在努力使此代码与 localStorage 一起使用,所以如果有人可以帮助我,那就太棒了。如何在刷新页面时实现 localStorage 以保存倒计时?
var hour = 5 * 3600;
var minute = 5 * 60;
var deadline = hour + minute;
function formatTime(seconds) {
var hide = false;
var h = Math.floor(seconds / 3600),
m = Math.floor(seconds / 60) % 60;
return h + m;
}
var counter = setInterval(timer, 1000);
function timer() {
deadline--;
if (deadline < 0) {
return clearInterval(counter);
}
$('#deadline').html(formatTime(deadline));
}
解决方案
每次值减小时,将值存储在 localStorage 中。当您重新加载页面时,检查存储的时间是否存在,如果存在,将其存储在您的期限变量中,否则将期限设为初始时间。
var hour = 5 * 3600;
var minute = 5 * 60;
var deadline = hour + minute;
function formatTime(seconds) {
var hide = false;
var h = Math.floor(seconds / 3600),
m = Math.floor(seconds / 60) % 60;
console.log(h)
console.log(m)
return h + m;
}
var counter;
var storedTime = localStorage.getItem('deadline')
if (storedTime) {
deadline = Number(storedTime)
}
counter = setInterval(timer, 1000);
function timer() {
--deadline;
localStorage.setItem('time', deadline);
if (deadline < 0) {
return clearInterval(counter);
}
$('#deadline').html(formatTime(deadline));
}
推荐阅读
- python-3.x - 设置为数据框的 Pandas 字典将值保留为列表
- python - 如何确定一个月的第 4 天(不包括周一和周日)
- flutter - 保存在 Snapshot 中并将其传输到 double 的数据
- karate - 空手道:在功能文件中设置 HTTP 和 HTTPS 代理
- javascript - 如何解析使用波兰符号结构的搜索查询?
- python - 使用即时客户端通过 Python3 (cx_Oracle) 连接到 Oracle 数据库时出现错误“DPI-1047:找不到 64 位 Oracle 客户端库”
- flutter - 饼图charts_flutter选择变化
- c - 为什么要定义“extern_”而不是使用“extern”?
- swift - SwiftUI macOS 构建应用程序以将其安装在另一台 Mac 上
- ios - 找不到框架 Pods_OneSignalNotificationServiceExtension