標題のとおりです。
下記サイトのようなカウントダウンタイマーを実装したいと考えております。
つきましては、自分で調べてみて下記サイトを参考に実装してみました。
■参考サイト
https://hakase-labo.com/count_down/
説明の通りにし、ミリ秒までの表示はできたのですがカウントダウンが始まるのを常に59分59秒○○ミリ秒といった具合に設定したいです。
JavaScript
1function CountdownTimer(elm,tl,mes){ 2 this.initialize.apply(this,arguments); 3} 4CountdownTimer.prototype={ 5 initialize:function(elm,tl,mes) { 6 this.elem = document.getElementById(elm); 7 this.tl = tl; 8 this.mes = mes; 9 },countDown:function(){ 10 var timer=''; 11 var today=new Date(); 12 var day=Math.floor((this.tl-today)/(24*60*60*1000)); 13 var hou=Math.floor(((this.tl-today)%(24*60*60*1000))/(60*60*1000)); 14 var min=Math.floor(((this.tl-today)%(24*60*60*1000))/(60*1000))%60; 15 var sec=Math.floor(((this.tl-today)%(24*60*60*1000))/1000)%60%60; 16 var mil=Math.floor(((this.tl-today)%(24*60*60*1000))/10)%100; 17 var me=this; 18 19 if( ( this.tl - today ) > 0 ){ 20 if (hou) timer += '<span class="hou">'+hou+'</span><span class="moji">時間</span>'; 21 timer += '<span class="min">'+this.addZero(min)+'</span><span class="moji">分</span><span class="sec">'+this.addZero(sec)+'</span><span class="moji">秒</span><span class="mil">'+this.addZero(mil)+'</span>'; 22 this.elem.innerHTML = timer; 23 tid = setTimeout( function(){me.countDown();},10 ); 24 }else{ 25 this.elem.innerHTML = this.mes; 26 return; 27 } 28 },addZero:function(num){ return ('0'+num).slice(-2); } 29} 30function countdown(){ 31 var tl = new Date('2025/07/04 00:00:00'); 32 //この上の部分で終了時間を設定するYO! 33 var timer = new CountdownTimer('countdown',tl,'終了しました'); 34 //この上の文は終了した後に表示する文字! 35 timer.countDown(); 36} 37window.onload=function(){ 38 countdown(); 39}
自分で行ったのは日にちはいらないので削除した程度です。
JavaScript初心者のため他の同じような質問も見たのですが、分からず改めてこちらにご質問させていただきました。
どなたかご教授いただけますと大変ありがたいです。
何卒よろしくお願い致します。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/10/07 02:01