我正在用PHP开发一个在线测验应用程序,我能够很好地执行它,但问题是,计时器应该只在加载完整页面时才开始工作。我使用了onload="starttimer()"
函数然后在starttimer()
我实现了运行计时器所需的所有代码。当我使用window.stop();
停止页面加载时,页面停止加载但计时器继续运行。我该怎么做才能避免这种情况?请帮帮我!!
答案 0 :(得分:1)
我认为您希望使用setinterval();
来控制需要异步运行的计时器,因为javascript中没有任何线程。因此,当您拨打window.stop();
时,您也可以拨打clearInterval();
然后当您想要重新启动计时器时,您可以从头开始再次启动它,或者使用html来包含您的值。
在示例中,计时器最初将以40秒开始
var quiz_interval = setInterval(updateTimer, 1000);
function updateTimer(){
var time_remaining = parseInt($('#timer').html());
if(time_remaining == 0){//dosomething}
else{ $("#timer").html(time_remaining--);}
//logic to check if timer has gone down to zero if not write the new number
//to the div
}
<html><body>
<div id="timer">40</div>
</body></html>