我想在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调用?使用阿贾克斯将尽量减少页面重新加载 – Amitd 2013-03-17 11:09:51
我不得不问 - 为什么你要存储经过的秒数而不是开始时间?通过存储服务器启动时间,您的应用程序可以提供更加真实的结果,并且不会因给服务器等造成任何失真。 – Paul 2013-03-17 11:18:47