【发布时间】:2014-12-07 10:08:18
【问题描述】:
我正在使用 Javascript 实现秒表。我有基本的 html 文档设置和一个名为 stopwatch.js 的 javascript 文件,其中包含以下代码。我利用setInterval 函数每1 秒(1000 毫秒)执行一次clockRunning 函数。这使我可以控制秒、分钟和小时以相应地增加它们,但我在将毫秒插入秒表时遇到了困难。我应该如何将毫秒从 0 增加到 1000 然后重置为零?
我尝试减少每 1ms 调用一次 setInterval 函数的间隔时间,然后将 millisecond 变量设置为 time%1000,其中每次调用函数时,time 变量都会增加 1。但它并没有给出我想要的结果。 millisecond 似乎增长得太慢了。
var running = 0
var time = 0;
var hour = 0;
var min = 0;
var sec = 0;
var millisec = 0;
function start(){
started = window.setInterval(clockRunning, 1000);
}
function stop(){
window.clearInterval(started);
}
function clockRunning(){
time++;
sec++;
if (sec == 60){
min += 1;
sec = 0;
if (min == 60){
hour += 1;
min = 0;
}
}
document.getElementById("display-area").innerHTML = (hour ? (hour > 9 ? hour : "0" + hour) : "00")
+ ":" + (min ? (min > 9 ? min : "0" + min) : "00") + ":" + (sec > 9 ? sec : "0"
+ sec);
};
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Stopwatch</title>
<script src="stopwatch.js"></script>
<style>
#display-area { font-size: 20pt; }
</style>
</head>
<body>
<div>
<output id="display-area">00:00:00.000</output>
</div>
<div>
<button id="toggle-button" onClick="start()">Start</button>
<button id="toggle-button" onClick="stop()">Stop</button>
<button id="reset-button">Reset</button>
</div>
</body>
</html>
【问题讨论】:
标签: javascript stopwatch