【发布时间】:2022-02-18 03:55:02
【问题描述】:
我做了一个倒数计时器,开始按钮以 setInterval 开始计数。我的问题是,如果用户不小心再次点击开始按钮,它会开始另一个间隔并加快倒计时。
const timeH = document.querySelector("h1");
let timeSecond = prompt("Enter minutes here") * 60;
displayTime(timeSecond);
function displayTime(second) {
const min = Math.floor(second / 60);
const sec = Math.floor(second % 60);
timeH.innerHTML = `${min < 10 ? "0" : ""}${min}:${sec < 10 ? "0" : ""}${sec}`;
}
function endTime() {
timeH.innerHTML = "TIME OUT";
}
function countDown() {
timeSecond--;
displayTime(timeSecond);
if (timeSecond <= 0 || timeSecond < 1) {
endTime();
}
}
document.querySelector(".start").addEventListener("click", () => {
count = setInterval(countDown, 1000);
});
document.querySelector(".stop").addEventListener("click", () => {
clearInterval(count);
});
document.querySelector(".reset").addEventListener("click", () => {
clearInterval(count);
timeSecond = prompt("Enter minutes here") * 60;
displayTime(timeSecond);
});
【问题讨论】: