Javascript中的秒表比正常时间慢
我想用JavaScript制作一个秒表,可以计算毫秒、秒和分钟。这就是我所拥有的:(按空格键可以停止计时器)Javascript中的秒表比正常时间慢,javascript,timer,Javascript,Timer,我想用JavaScript制作一个秒表,可以计算毫秒、秒和分钟。这就是我所拥有的:(按空格键可以停止计时器) var counter=document.getElementsByTagName('h1')[0]; var毫秒=0; var秒=0; var分钟=0; 函数Add(){ 毫秒++; 如果(毫秒>=99){ 毫秒=0; 秒++; 如果(秒>=59){ 秒=0; 分钟++; } } counter.textContent=(分钟数?(分钟数>9?分钟数:“0”+分钟数):“00”)+”
var counter=document.getElementsByTagName('h1')[0];
var毫秒=0;
var秒=0;
var分钟=0;
函数Add(){
毫秒++;
如果(毫秒>=99){
毫秒=0;
秒++;
如果(秒>=59){
秒=0;
分钟++;
}
}
counter.textContent=(分钟数?(分钟数>9?分钟数:“0”+分钟数):“00”)+”:“+
(秒)(秒>9秒:“0”+秒):“00”+:“+
(毫秒?(毫秒>9?毫秒:“0”+毫秒):“00”);
定时器();
}
函数计时器(){
t=设置超时(加10);
}
定时器();
文件.添加的文本列表器(“按键”,功能(e){
如果(例如keyCode===32){
清除超时(t);
}
});代码>
00:00:00
您应该创建一个startTime变量,然后计算elapsedTime,并使用该变量计算要显示的其他变量
var startTime = Date.now();
setTimeout(function(){
var elapsedTime = Date.now() - startTime;
// Additional code to calculate hour, minute, second, milisecond here
}, 10);
您应该创建一个startTime变量,然后计算elapsedTime,并使用该变量计算要显示的其他变量
var startTime = Date.now();
setTimeout(function(){
var elapsedTime = Date.now() - startTime;
// Additional code to calculate hour, minute, second, milisecond here
}, 10);
这个问题的答案有帮助吗:setTimeout的间隔是最小的,你必须考虑函数在两次调用之间运行的时间,这都是累积的。是的,谢谢。事实上,我刚刚重新检查过,很抱歉这么快就得出了结论。我知道问题出在哪里,但我不知道如何解决它,在我的计时器的上下文中。这个问题的答案是否有帮助:setTimeout的间隔是最小的,并且您必须考虑函数在调用之间运行的时间,这都是累积的。是的,谢谢,实际上,我刚刚检查过,我很抱歉这么快就下结论了。我知道问题出在哪里,但我不知道如何解决它,在我的计时器的上下文中。