【发布时间】:2013-03-17 10:51:52
【问题描述】:
我想在 javascript 中使用计数器变量,例如带计时器的静态变量。计数器必须每秒减 1。我正在做在线考试。在回答问题时,新问题出现在同一页面上。当计数器变量用新问题(意味着新页面)初始化时,我的问题就开始了。计数器变量不会在新页面上持续存在...建议任何解决方案
<script language="JavaScript">
function ExamTimer()
{
if ( typeof ExamTimer.counter == 'undefined' )
{
ExamTimer.counter = 30000; // 30 min
}
else
{
ExamTimer.counter = ExamTimer.counter-1;
if(ExamTimer.counter<=0)
{
alert("exam finish");
}
setTimeout(ExamTimer, 1000);
}
window.onload=ExamTimer;
</script>
【问题讨论】:
-
如何加载新问题?通过页面刷新还是通过 ajax 调用?使用 ajax 将最大限度地减少页面重新加载
-
我不得不问 - 你为什么要存储经过的秒数而不是开始时间?通过存储服务器启动时间,您的应用程序将提供更真实的结果,并且不会因中间服务器等而受到任何失真。
标签: javascript counter