clearIntervalが聞かない
Q&A
Closed
解決したいこと
ここに解決したい内容を記載してください。
setIntervalをしようしてストップ、リセットを押したときにclearIntervalを実行しているのですが、なぜか止まりません。どこがまちがっているのでしょうか?
問題・エラーが起きている画像をここにドラッグアンドドロップ
該当するソースコード
言語名 JavaScript
ソースコードを入力
let startTime = 0;
let elapsedTime = 0;
let timeoutId;
let timer = document.getElementById('timer');
let start = document.getElementById('start');
let stop = document.getElementById('stop');
let reset = document.getElementById('reset');
function countUp() {
let d = new Date(Date.now() - startTime + elapsedTime).getTime();
let t = (Math.floor(d / (1000 * 60 * 60))).toString().padStart(2, '0');
d = new Date(Date.now() - startTime + elapsedTime);
let m = d.getMinutes().toString().padStart(2, '0');
let s = d.getSeconds().toString().padStart(2, '0');
timer.textContent = `${t}:${m}:${s}`;
timeoutId = setInterval(() => {
countUp();
}, 1000);
}
start.addEventListener('click', () => {
startTime = Date.now();
countUp();
});
stop.addEventListener('click', () => {
clearInterval(timeoutId);
elapsedTime += Date.now() - startTime;
});
reset.addEventListener('click', () => {
clearInterval(timeoutId);
elapsedTime = 0;
timer.textContent = '00:00:00';
});
0 likes