Javascript 如何为不';t重置
我需要帮助存储此计时器倒计时的时间它正在运行正常,但当我按刷新或返回浏览器时,计时器将像15:00一样重新启动,然后计时器启动示例时间是9:00如果我按刷新,它将返回到15:00Javascript 如何为不';t重置,javascript,php,time,timer,Javascript,Php,Time,Timer,我需要帮助存储此计时器倒计时的时间它正在运行正常,但当我按刷新或返回浏览器时,计时器将像15:00一样重新启动,然后计时器启动示例时间是9:00如果我按刷新,它将返回到15:00 (函数(){ 功能显示(通知程序、str){ document.getElementById(通知程序).innerHTML=str; } 函数toMinuteAndSecond(x){ 返回~~(x/60)+“:”+(x%600){ 保持-=1; setTimeout(arguments.callee,1000);
(函数(){
功能显示(通知程序、str){
document.getElementById(通知程序).innerHTML=str;
}
函数toMinuteAndSecond(x){
返回~~(x/60)+“:”+(x%60<10?:“)+x%60;
}
功能设置计时器(保留、操作){
var作用;
(函数倒计时(){
显示(“倒计时”,toMinuteAndSecond(保持));
如果(动作=动作[保持]){
动作();
}
如果(保持>0){
保持-=1;
setTimeout(arguments.callee,1000);
}
})();//结束倒计时
}
设定计时器(900{
120:函数(){
显示(“通知”,“只剩1分钟”);
},
50:职能(){
显示(“通知者”,“还剩50秒”);
},
}
}
);
})();代码>
JS中的
-注意我将localStorage放在哪里(它不在代码段中运行)
我还修复了发布代码中的错误
(函数(){
功能显示(通知程序、str){
document.getElementById(通知程序).innerHTML=str;
}
函数toMinuteAndSecond(x){
返回~~(x/60)+“:”+(x%60<10?:“)+x%60;
}
功能设置计时器(保留、操作){
var作用;
(函数倒计时(){
//添加localStorage.setItem(“倒计时”,保留)
显示(“倒计时”,toMinuteAndSecond(保持));
如果(动作=动作[保持]){
动作();
}
如果(保持>0){
保持-=1;
setTimeout(arguments.callee,1000);
}
else显示(“倒计时”、“完成”);
})();//结束倒计时
}
setTimer(30,{//将30更改为+localStorage.getItem(“倒计时”)| 30;
20:功能(){
显示(“倒计时”,“还剩20秒”);
},
10:函数(){
显示(“倒计时”,“还剩10秒”);
},
});
})();代码>
在这里,我们应该将变量保留在本地存储中。即使在刷新之后,本地存储中的变量也将可用
附加代码,该代码将按预期为您工作
(function() {
function display(notifier, str) {
document.getElementById(notifier).innerHTML = str;
}
function toMinuteAndSecond(x) {
return ~~(x / 60) + ":" + (x % 60 < 10 ? "0" : "") + x % 60;
}
function setTimer(remain, actions) {
var action;
localStorage.remain = remain;
(function countdown() {
remain = localStorage.remain;
display("countdown", toMinuteAndSecond(remain));
if (action = actions[remain]) {
action();
}
if (remain > 0) {
localStorage.remain -= 1;
setTimeout(arguments.callee, 1000);
}
})(); // End countdown
}
setTimer(900, {
120: function() {
display("notifier", "Just 1 minute to go");
},
50: function() {
display("notifier", "50 seconds left");
},
}
}
);
})();
(函数(){
功能显示(通知程序、str){
document.getElementById(通知程序).innerHTML=str;
}
函数toMinuteAndSecond(x){
返回~~(x/60)+“:”+(x%60<10?:“)+x%60;
}
功能设置计时器(保留、操作){
var作用;
localStorage.remaine=remain;
(函数倒计时(){
remaine=localStorage.remaine;
显示(“倒计时”,toMinuteAndSecond(保持));
如果(动作=动作[保持]){
动作();
}
如果(保持>0){
localStorage.reserve-=1;
setTimeout(arguments.callee,1000);
}
})();//结束倒计时
}
设定计时器(900{
120:函数(){
显示(“通知”,“只剩1分钟”);
},
50:职能(){
显示(“通知者”,“还剩50秒”);
},
}
}
);
})();
因此,将开始时间存储在PHP上的会话中,并在页面加载时使用该时间计算剩余时间。一些合理的代码缩进将是一个好主意。它帮助我们阅读代码,更重要的是,它将帮助您为自己的利益调试代码。您可能会被要求在几周/几个月内修改此代码,最后您会感谢我。我创建了一个代码片段,在控制台中出现语法错误。请修复你好epascarello先生谢谢在javascript上执行如何?它正在工作谢谢你我现在唯一的问题是如何使它再次启动hehe非常感谢mplungjanhow先生如果他们想再次测试,请重新运行计时器