我在JavaScript中创建时钟但是当我使用递增运算符将秒递增1时,值会增加* 2.
var hours=0;
var sec=0;
var min=0;
function clock(){
document.getElementById("sec").innerHTML= ++sec;
if(sec>59){
document.getElementById("min").innerHTML= ++min;
sec=0;
} else if(min>59){
document.getElementById("hours").innerHTML = ++hours;
min=0;
}
else if(hours>12){
hours=0;
}
setInterval(clock, 1000);
}
clock();
答案 0 :(得分:2)
你不应该使用if。
你不应该在clock函数中使用setInterval。它应该是setTimeout。使用setInterval意味着在每次迭代时,您将添加另一个间隔。
第三,setTimeout / setInterval不准确。您应该只使用开始日期并减去当前日期并确定时差。
答案 1 :(得分:0)
@epascarello 也对。但另一件事。
当您使用增量运算符时,添加 ++
AFTER 一个变量。
改为:
++sec to sec++
++min to min++
++hours to hours++