我想在JavaScript中制作一个可以计算毫秒,秒和分钟的秒表。这就是我所拥有的:(你可以通过按空格来停止计时器)
var counter = document.getElementsByTagName('h1')[0];
var miliseconds = 0;
var seconds = 0;
var minutes = 0;
function Add() {
miliseconds++;
if (miliseconds >= 99) {
miliseconds = 0;
seconds++;
if (seconds >= 59) {
seconds = 0;
minutes++;
}
}
counter.textContent = (minutes ? (minutes > 9 ? minutes : "0" + minutes) : "00") + ":" +
(seconds ? (seconds > 9 ? seconds : "0" + seconds) : "00") + ":" +
(miliseconds ? (miliseconds > 9 ? miliseconds : "0" + miliseconds) : "00");
Timer();
}
function Timer() {
t = setTimeout(Add, 10);
}
Timer();
document.addEventListener("keypress", function(e) {
if (e.keyCode === 32) {
clearTimeout(t);
}
});

<h1 id="counter">00:00:00</h1>
&#13;
问题在于它似乎没有达到适当的速度,这意味着当我将它与其他定时器进行比较时,它逐渐变得比它们慢(即定时器计数的速度随着时间的推移而减慢)。突然之间,有5秒的差异,然后它变成了7秒的差异,依此类推。 任何帮助将不胜感激。
答案 0 :(得分:3)
您应该创建 startTime 变量,然后计算 elapsedTime ,并使用它来计算要显示的其他变量。
- (BOOL)becomeFirstResponder {
[_myTextField becomeFirstResponder];
return NO;
}