测验中的计时器不起作用 [英] timer in quiz is not working
本文介绍了测验中的计时器不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在PHP中创建了一个测验。每个用户都可以选择一个主题并尝试测验。
我希望有一个2分钟的计时器用于测验和两分钟后。它应该显示时间结束。问题是计时器本身不是loading。
下面是我的代码。
I have created a quiz in PHP. Each user can select a subject and attempt a quiz.
I wish to have a timer for 2 minutes for the quiz and after two minutes.It should display time over.Problem is that the timer itself is not loading.
Below is my code.
<script>
var today1=new Date();
var h1=today1.getHours();
var m1=today1.getMinutes();
var s1=today1.getSeconds();
function startTime()
{
var today2=new Date();
var h2=today2.getHours();
var m2=today2.getMinutes();
var s2=today2.getSeconds();
// add a zero in front of numbers<10
h=checkTime(abs(h2-h1));
m=checkTime(abs(m2-m1));
s=checkTime(abs(s2-s1));
document.getElementById('txt').innerHTML=h+":"+m+":"+s;
if(m==2)
{
alert("Time Over");
return;
}
t=setTimeout(function(){startTime()},500);
}
function checkTime(i)
{
if (i<10)
{
i="0" + i;
}
return i;
}
</script>
我已经包含这些以便计时器应该开始
I have included these so that timer should start
<body onload = 'startTime()';>
<div id="txt"></div>
但是未加载计时器...
But the timer is not loaded...
推荐答案
使用setInterval()。根据您的需要调整以下示例。
Use setInterval(). Adapt the following example to your need.
<!DOCTYPE html>
<html>
<body onload="starttimer()">
<div id="txt"></div>
<script>
function starttimer() {
var secondHolder = document.getElementById('txt');
var secondsRemaining = 10; // Count down from 10 seconds
var interval = setInterval(function() {
secondHolder.innerHTML = --secondsRemaining;
if (secondsRemaining <= 0)
{
secondHolder.innerHTML = 'Time Out!';
clearInterval(interval);
}
}, 1000); // display remaining seconds every second
}
</script>
</body>
</html>
参考:http://www.w3schools.com/jsref/met_win_setinterval.asp [ ^ ]
这篇关于测验中的计时器不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文