我正在构建一个考试模拟器,它从 10 分钟开始倒计时,当它到达 00:00 时,考试问题被隐藏,并且显示一个 div,上面写着“你的时间”,但是如果我在浏览器上单击刷新,它会回到 10:00但我想要它做的是再次显示 out of time div !我在下面玩了我的jquery,但我看不出我哪里出错了,计时器存储在cookie中,所以如果用户在考试中的任何给定时间按下f5,cookie就会从用户按下f5开始倒计时!所以我的问题是,如果时间是 00:00,有人可以帮我修改下面的 JQuery 以显示超时的 div,即使用户刷新了浏览器,它也仍然显示。
$(function () {
$('.clock').each(function () {
var clock = $(this),
theTime = $.cookie('time'),
seconds = "00", minutes = 10;
if (theTime && theTime != "0:00") {
theTime = theTime.split(":")
minutes = theTime[0]
seconds = theTime[1]
}
$('.min', clock).text(minutes)
$('.sec', clock).text(seconds)
var timer = setInterval(function () {
var m = $('.min', clock), minutes = +m.text(),
s = $('.sec', clock), seconds = -1 + +s.text()
if (seconds < 0) {
seconds = 59
minutes--
} else if (minutes <= 0 && seconds <= 0) {
clock.html('Timer Complete.');
clearInterval(timer);
$.cookie('time', '', { expires: -1 })
$('#feedbackform').hide();
$('#MainContent_DivOutOfTime').toggle();
return;
}
seconds = seconds < 10 ? '0' + seconds : seconds
m.text(minutes)
s.text(seconds)
$.cookie('time', minutes + ":" + seconds, { expires: -1 })
},
1000);
});
});
Iv 尝试从代码中删除以下内容
if (seconds < 0) {
seconds = 59
minutes--
} else
这样它会检查时间,然后显示 div 但无济于事!我还删除了 clearInterval ...任何帮助将不胜感激