数学游戏中Javascript计时器出错
我正在用javascript做一个简单的数学游戏。在开始生成新问题时需要重置计时器之前,一切都正常。在这一刻,发生了一些非常奇怪的事情。计时器开始显示一些奇怪的负值或不真实的正值 要体验我的问题,请先按“播放”按钮,然后开始玩游戏。只输入正确答案。经过一些尝试,你会发现计时器有问题 下面的完整代码:数学游戏中Javascript计时器出错,javascript,html,timer,Javascript,Html,Timer,我正在用javascript做一个简单的数学游戏。在开始生成新问题时需要重置计时器之前,一切都正常。在这一刻,发生了一些非常奇怪的事情。计时器开始显示一些奇怪的负值或不真实的正值 要体验我的问题,请先按“播放”按钮,然后开始玩游戏。只输入正确答案。经过一些尝试,你会发现计时器有问题 下面的完整代码: 功能计时器(timeleft){ 时间间隔=5; timeTime=setInterval(函数(){ 时间限制--; document.getElementById(“倒计时”).textCo
功能计时器(timeleft){
时间间隔=5;
timeTime=setInterval(函数(){
时间限制--;
document.getElementById(“倒计时”).textContent=timeleft;
如果(timeleft您生成了setInterval()的多个实例。这就是为什么在执行clearInterval()时,只清除了立即setInterval实例。但是,其他实例仍在运行
我评论了那些必须删除的行
您必须在另一个setInterval()之前调用clearInterval()。因此,我将clearTime()放在load()之前
varnumber1,number2,max=10,
符号,numberSigns=2,
输出,userOutput,points=0,timeleft=10,timeTime;
函数endGame(){
隐藏(“点”);
隐藏(“倒计时”);
隐藏(“基”);
随机颜色();
}
功能计时器(timeleft){
时间间隔=5;
timeTime=setInterval(函数(){
时间限制--;
document.getElementById(“倒计时”).textContent=timeleft;
如果(函数中的timelefttimer()
replacetimeleft--;
by--timeleft;
function timer(timeleft){
timeleft = 5;
timeTime = setInterval(function() {
timeleft--;
document.getElementById("countdown").textContent = timeleft;
if(timeleft <= 0){
clearInterval(timeTime);
}
},1000)
}
function clearTime() {
clearInterval(timeTime);
timeleft=5;
timer(5);
}