カウントダウンタイマーについて質問があります。
あと⚪️日と⚪️時間⚪️分⚪️秒という表記があります。
日の部分だけがタイマーが作動せずにundefined日とういう感じの表記になってしまっています。
しっかりとタイマーを表示させるにはどのようにしたらいいのかわかりません、、、
ご教授の方をよろしくお願い致します。
※コードは下記のようになっています。
<script type="text/javascript"> 97 function dateCounter() { 98 99 var timer = setInterval(function() { 100 //現在の日時取得 101 var nowDate = new Date(); 102 //カウントダウンしたい日を設定 103 var anyDate = new Date("<?=date($party_data['party_date']) ?>"); 104 var anyDate_2week_before = new Date("<?=date('Y-m-d',strtotime($party_data['party_date'].' -2weeks')) ?>"); 105 106 //日数を計算 107 var daysBetween = Math.ceil((anyDate - nowDate)/(1000*60*60*24)); 108 109 110 var ms = (anyDate - nowDate); 111 112 var bf_daysBetween = Math.ceil((anyDate_2week_before - nowDate)/(1000*60*60*24)); 113 var bf_ms = (anyDate_2week_before - nowDate); 114 115 if (ms >= 0) { 116 //時間を取得 117 var h = Math.floor(ms / 3600000); 118 var _h = h % 24; 119 //分を取得 120 var m = Math.floor((ms - h * 3600000) / 60000); 121 //秒を取得 122 var s = Math.round((ms - h * 3600000 - m * 60000) / 1000); 123 124 125 var bf_h = Math.floor(bf_ms / 3600000); 126 var _h_bf = bf_h % 24; 127 //分を取得 128 var bf_m = Math.floor((bf_ms - bf_h * 3600000) / 60000); 129 //秒を取得 130 var bf_s = Math.round((bf_ms - bf_h * 3600000 - bf_m * 60000) / 1000); 131 document.getElementById("countOutput").innerHTML = 'あと'.daysBetween + "日と" +_h + "時間" + m + "分" +s + "秒"; 135 if(bf_ms > 0){ 136 document.getElementById("countOutput2").innerHTML = 'あと'.bf_daysBetween + "日と" +_h_bf + "時間" + bf_m + "分" +bf_s + "秒"; 137 if ((bf_h == 0) && (bf_m == 0) && (bf_s == 0)) { 138 //夜中12 時になったタイミング 139 clearInterval(timer); 140 document.getElementById("countOutput2").innerHTML = "経過しました"; 141 } 142 }else { 143 document.getElementById("countOutput2").innerHTML = "もう早割りは終了しました"; 144 } 145 146 if ((h == 0) && (m == 0) && (s == 0)) { 147 //夜中12 時になったタイミング 148 clearInterval(timer); 149 document.getElementById("countOutput").innerHTML = "経過しました"; 150 } 151 }else{ 152 //終わったケース 153 //document.getElementById("countOutput").innerHTML = "経過しました"; 154 //document.getElementById("countOutput2").innerHTML = "経過しました"; } }, 1000); } dateCounter(); </script> </head> <body id="home" class="col2" onload="initialize();" > <div id="fb-root"></div> <div id="container"> <div id="wrapper"> <?/*--▼ヘッダー--*/?> <?=$header_view ?> <?/*--▲ヘッダー--*/? >回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2015/09/05 23:50