我正在制作一个测验计时器,其中包含分钟和秒的计时器,我这里的问题是当我按刷新时计时器重新启动到它的原始时间。如何在单击刷新按钮或关闭浏览器时不重置计时器?我对获取开始的时间有点困惑+(5分钟,测验的样本时间),然后存储到数据库,然后回显它,使其计时器
<font size="6">
<div style="font-weight: bold" id="quiz-time-left"></div>
<script type="text/javascript">
var max_time = <?php echo $rows['q_time'] ?>*60;
var c_seconds = 0;
var total_seconds =max_time;
max_time = parseInt(total_seconds/60);
c_seconds = parseInt(total_seconds%60);
document.getElementById("quiz-time-left").innerHTML='Time Left: ' + max_time + ' minutes ' + c_seconds + ' seconds';
function init(){
document.getElementById("quiz-time-left").innerHTML='Time Left: ' + max_time + ' minutes ' + c_seconds + ' seconds';
setTimeout("CheckTime()",999);
}
function CheckTime(){
document.getElementById("quiz-time-left").innerHTML='Time Left: ' + max_time + ' minutes ' + c_seconds + ' seconds' ;
if(total_seconds <=0){
setTimeout('document.getElementById("quiz").submit()',1);
} else
{
total_seconds = total_seconds -1;
max_time = parseInt(total_seconds/60);
c_seconds = parseInt(total_seconds%60);
setTimeout("CheckTime()",999);
}
}
init();
</script>
</font>发布于 2015-10-11 16:30:11
对于您试图实现的目标,您可以将计时器的起始点存储在cookie或浏览器的localStorage中。
if (window.localStorage["start_time"]){
// continue from start time.
//reset your timer to the time passed since start_time
}else{
//first time load. reset your timer to 0.
}请注意,window.localStorage不能与较旧的浏览器一起工作,您可能需要对cookies执行类似的操作。
发布于 2015-10-11 16:27:23
我的观点是
https://stackoverflow.com/questions/33062917
复制相似问题