【发布时间】:2023-03-15 07:05:01
【问题描述】:
代码工作正常,但当计时器结束时,它显示 0:01 而不是 0:00。
<html>
<body>
<div>
<span id="time6" class="timer">00:06</span>
<br/>
<button onclick="start6Timer()" class="start-button">start</button>
<button onclick="resetTimer()" class="reset-button">reset</button>
<p>To reset press reset and then start.</p>
</div>
</body>
<script>
let timerId;
function startTimer(duration, display) {
var timer = duration,
minutes, seconds;
timerId = setInterval(function() {
minutes = parseInt(timer / 60, 10);
seconds = parseInt(timer % 60, 10);
minutes = minutes < 10 ? "0" + minutes : minutes;
seconds = seconds < 10 ? "0" + seconds : seconds;
display.textContent = minutes + ":" + seconds;
if (--timer < 0) {
timer = duration;
}
if (timer == 0){
stopTimer();
}
}, 1000);
}
function start6Timer() {
var sixSeconds = 60 * 0.1,
display = document.querySelector('#time6');
startTimer(sixSeconds, display);
};
function resetTimer() {
clearInterval(timerId);
}
function stopTimer() {
clearInterval(timerId);
}
</script>
</html>
我需要它在任何计时器结束时显示它,我有多个使用 startTimer 函数的计时器,但是我很难理解如何在任何计时器结束时显示 0:00。
这是一个 W3school Tryit 编辑器的链接以及我的代码:https://www.w3schools.com/code/tryit.asp?filename=GJRWXNYJMDYS
【问题讨论】:
标签: javascript timer clearinterval