Timer 刷新页面时正在重置JavaScript计时器
我有一个倒计时脚本。。我打算用它进行在线考试。。但现在的问题是,它在刷新页面时正在重置 如果他们也刷新了页面,有没有办法防止重置时间并继续操作而不会出现任何问题 这是密码Timer 刷新页面时正在重置JavaScript计时器,timer,counter,countdown,Timer,Counter,Countdown,我有一个倒计时脚本。。我打算用它进行在线考试。。但现在的问题是,它在刷新页面时正在重置 如果他们也刷新了页面,有没有办法防止重置时间并继续操作而不会出现任何问题 这是密码 <script> var mins; var secs; function cd() { mins = 1 * m("2"); // change minutes here secs = 0 + s(":01"); // change seconds here (a
<script>
var mins;
var secs;
function cd() {
mins = 1 * m("2"); // change minutes here
secs = 0 + s(":01"); // change seconds here (always add an additional second to your total)
redo();
}
function m(obj) {
for(var i = 0; i < obj.length; i++) {
if(obj.substring(i, i + 1) == ":")
break;
}
return(obj.substring(0, i));
}
function s(obj) {
for(var i = 0; i < obj.length; i++) {
if(obj.substring(i, i + 1) == ":")
break;
}
return(obj.substring(i + 1, obj.length));
}
function dis(mins,secs) {
var disp;
if(mins <= 9) {
disp = " 0";
} else {
disp = " ";
}
disp += mins + ":";
if(secs <= 9) {
disp += "0" + secs;
} else {
disp += secs;
}
return(disp);
}
function redo() {
secs--;
if(secs == -1) {
secs = 59;
mins--;
}
document.getElementById("disp").innerHTML=dis(mins,secs); // setup additional displays here.
if((mins == 0) && (secs == 0)) {
window.alert("Time is up. Press OK to continue."); // change timeout message as required
// window.location = "yourpage.htm" // redirects to specified page once timer ends and ok button is pressed
} else {
cd = setTimeout("redo()",1000);
}
}
function init() {
cd();
}
window.onload = init;
</script>
var mins;
var-secs;
函数cd(){
分钟=1*m(“2”);//在此处更改分钟
secs=0+s(“:01”);//在此处更改秒数(始终在总数中再增加一秒)
重做();
}
功能m(obj){
对于(变量i=0;i 如果(分钟如果页面刷新,所有javascript代码都将重新执行。这是正常行为
如果您确实需要继续您离开的地方,您可以使用本地存储API(仅在现代浏览器中可用)来存储时间(每秒钟更新一次值)
加载页面后,您可以检查本地存储中是否存在该值,并从您所在的位置开始
顺便说一句,你确定你需要这种行为吗