使うかもで調べた。
参考
やりたいことはこの記事を読めば実現する。

【JavaScript】カウントダウンタイマー実装 - Qiita
最初にカウントダウンタイマーを実装する学習をしたので、学んだことを記事にしたいと思います。今回はJavaScriptを使ってシンプルなカウントダウンタイマーを実装します。カウントダウンタイマー…
とは言うものの、ちょっと足りないのでいじる。
やりたいこと
参考だと「00:00:00」を「時分秒」にしてるけど、「分秒センチ秒(?)」にしたい。
残りn秒で装飾したい(時間を条件にClass付与とか)。
こうする
htmlは同じ。
<div id="countdown">00:00:00</div>
jsはこうする。
window.onload = function(){
const countDown = document.getElementById('countdown');
const targetTime = new Date().getTime() + 360000; //時間設定
function updateCountDown(){
const now = new Date().getTime();
const distance = targetTime - now;
const minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
const seconds = Math.floor((distance % (1000 * 60)) / 1000);
const mseconds = Math.floor((distance % (1000)) / 10);
countDown.textContent = `${String(minutes).padStart(2, '0')}:${String(seconds).padStart(2, '0')}:${String(mseconds).padStart(2, '0')}`;
if(distance <= 10000){ //10秒前
countDown.classList.add('caution');
}
if(distance < 0){
clearInterval(interval);
countDown.textContent = '終了しました';
}
}
const interval = setInterval(updateCountDown);
updateCountDown();
}
元記事のものと見比べるとあんまり手が入っていないっていうね。
思ったこと
やりたいことができたのはいいんだけど、jsの上書き頻度が恐ろしく多い(処理)こと、スペック不足とかで処理が遅れたらどうなるんだ(精度)みたいなところは謎。
どうでしょうね。
コメント