【发布时间】:2019-06-05 17:06:39
【问题描述】:
您好,我的网站中嵌入了秒表,但是我遇到了问题。当秒数达到 60 因此 1 分钟时,它们应重置为 00。但是在这种情况下,虽然分钟将每 60 秒增加一次,但秒数不会重置为零。这是我的代码
<div id="output">00:00:00</div>
<button id="startPause" onclick="startPause()">Start</button>
<button onclick="reset()">Reset</button>
<script type="text/javascript">
var time = 0;
var running = 0;
function startPause() {
if (running == 0) {
running = 1;
increment();
document.getElementById('startPause').innerHTML = 'Pause';
} else {
running = 0;
document.getElementById('startPause').innerHTML = 'Resume';
}
}
function reset() {
running = 0;
time = 0;
document.getElementById('output').innerHTML = '00:00:00';
document.getElementById('startPause').innerHTML = 'Start';
}
function increment() {
if (running == 1) {
setTimeout(function() {
time++;
var mins = Math.floor(time / 10 / 60);
if (mins <= 9) {
mins = '0' + mins;
}
var secs = Math.floor(time / 10);
if (secs <= 9) {
secs = '0' + secs;
}
var tenths = Math.floor(time % 10);
if (tenths <= 9) {
tenths = '0' + tenths;
}
document.getElementById('output').innerHTML =
mins + ':' + secs + ':' + tenths;
increment();
}, 100);
}
}
</script>
非常感谢任何帮助
【问题讨论】:
-
仅供参考设置超时不准确
-
if (secs >= 60) secs = secs - 60;
标签: javascript timer settimeout