質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

1669閲覧

カウントダウンタイマーについて

退会済みユーザー

退会済みユーザー

総合スコア0

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2015/09/02 11:52

カウントダウンタイマーについて質問があります。

あと⚪️日と⚪️時間⚪️分⚪️秒という表記があります。

日の部分だけがタイマーが作動せずに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 ?> <?/*--▲ヘッダー--*/? >

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

131と136行目に'あと'.daysBetweenがありますが、
これは'あと' + daysBetweenの誤りではないですか?

投稿2015/09/02 13:00

notable

総合スコア415

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2015/09/05 23:50

ご丁寧にありがとうござます。 やはりそうでした・・・
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問