セールスレターの3日間カウントダウンタイマー(開くと残り2日23時間59分59秒とカウントダウンがはじまる)を作りたいです。
javascriptを入れたのですがうまく表示されません。(日付や時間が全く表示されません)。
最初から入っている値var tl = new Date('2040/06/25 00:00:00');
だとうまく動きます。
html
1<script> 2function CountdownTimer(elm,tl,mes){ 3this.initialize.apply(this,arguments); 4} 5CountdownTimer.prototype={ 6initialize:function(elm,tl,mes) { 7this.elem = document.getElementById(elm); 8this.tl = tl; 9this.mes = mes; 10},countDown:function(){ 11var timer=''; 12var today=new Date(); 13var day=Math.floor((this.tl-today)/(24*60*60*1000)); 14var hour=Math.floor(((this.tl-today)%(24*60*60*1000))/(60*60*1000)); 15var min=Math.floor(((this.tl-today)%(24*60*60*1000))/(60*1000))%60; 16var sec=Math.floor(((this.tl-today)%(24*60*60*1000))/1000)%60%60; 17var milli=Math.floor(((this.tl-today)%(24*60*60*1000))/10)%100; 18var me=this; 19if( ( this.tl - today ) > 0 ){ 20if (day) timer += '<span class="day">'+day+'日と</span>'; 21if (hour) timer += '<span class="hour">'+hour+'時間</span>'; 22timer += '<span class="min">'+this.addZero(min)+'分</span><span class="sec">'+this.addZero(sec)+'秒</span><span class="milli">'+this.addZero(milli)+'</span>'; 23this.elem.innerHTML = timer; 24tid = setTimeout( function(){me.countDown();},10 ); 25}else{ 26this.elem.innerHTML = this.mes; 27return; 28} 29},addZero:function(num){ return ('0'+num).slice(-2); } 30} 31function CDT(){ 32var text = '販売終了まで :'; 33<!-- 34var tl = new Date('2040/06/25 00:00:00');--> 35var tl = new Date(); 36tl.setDate(tl.getDate() + 3); 37var timer = new CountdownTimer('CDT',tl,'終了しました。'); 38timer.countDown(); 39target = document.getElementById("text"); 40target.innerHTML = text; 41} 42window.onload=function(){ 43CDT(); 44} 45</script>
var tl = new Date();
tl.setDate(tl.getDate() + 3);
というのが、調べて3日後と設定したところです。
何がまずいでしょうか?
回答2件
あなたの回答
tips
プレビュー