【发布时间】:2014-12-10 09:15:48
【问题描述】:
我是一个初级 JavaScript“编码器”(PHP/C# 知识),我必须做一个秒表。
现在我有一个问题;每次启动按钮时,计时器都会走得更快,停止(暂停)按钮将停止工作。我似乎找不到合适的方法来解决它!
var display = document.getElementById("timer"),
start = document.getElementsByClassName("start"),
stop = document.getElementsByClassName("stop"),
seconds = 0,
minutes = 0,
hours = 0,
time;
start[0].addEventListener('click', startTimer);
stop[0].addEventListener('click', stopTimer);
function startTimer() {
timer();
time = setInterval( timer, 1000);
}
function stopTimer() {
clearInterval(time);
}
function timer(){
display.innerHTML = ExtraZero(hours)+":"+ExtraZero(minutes)+":"+ExtraZero(seconds);
seconds++;
if (seconds >= 60){
seconds = 0;
minutes++;
if (minutes >= 60){
minutes = 0;
hours ++;
}
}
}
function ExtraZero(i) {
if (i < 10)
{
i = "0" + i
}
return i
}
<!DOCTYPE html>
<html>
<head>
<title>Stopwatch</title>
<link rel="stylesheet" type="text/css" href="mystyle.css">
</head>
<body>
<div class="stopwatch">
<div class="timer">
<p id="timer">00:00:00</p>
</div>
<div class="start">
<button>START</button>
</div>
<div class="stop">
<button>STOP</button>
</div>
</div>
<script src="myscript.js" type="text/javascript"></script>
</body>
</html>
【问题讨论】:
标签: javascript html css timer stopwatch