時間によるコンテンツ切り替えは「getHours」を使用し成功したのですが、
下記のような○時○分に切り替えを行いたいのですが、うまくいきません。
初歩的な質問で大変恐縮ですが、ご教授いただけますと幸いです。
<実現したい事>
・17時45分⇒ コンテンツA表示
・17時46分⇒ コンテンツB表示
javascript
1$(function(){ 2 var now_hour = new Date().getHours(); 3 var now_minutes = new Date().getMinutes(); 4 //var now_hour = new Date().getHours(); 5 if ( 16 <= now_hour && now_hour <= 18 , now_minutes <= 52){ 6 document.getElementById('popup_write2').innerHTML = 'コンテンツA'; 7 } else if ( 18 <= now_hour , now_minutes <= 53 && now_hour <= 0) { 8 document.getElementById('popup_write2').innerHTML = 'コンテンツB'; 9 } else if ( 0 <= now_hour && now_hour <= 9) { 10 document.getElementById('popup_write2').innerHTML = 'コンテンツC'; 11 } 12});
if文の中の「,」はどういう意図で入れているのでしょうか。
そもそもですが、if文の中でカンマ演算子を使うと、カンマより前の比較は結果に影響されないので、おそらく用途を間違えているのでは?
後実現したいことと、ソースコード内の時間帯が全く一致しないので、
どこからどこの時間帯でコンテンツA,B,Cをそれぞれ表示したいのか記述してください。
(現在のソースコードでは、
0:00~19:52 => コンテンツA
のみです。コンテンツBは0:00~0:53、コンテンツCは0:00~10:59ですが、else文なので出力されません。)
お二人のご指摘通りif内のカンマは途中から追加しています。
最初はgetHoursだけで0~23の値をif分に書いていたのですが、
○時○分で切り替えができないかカンマを追加してしまいました。
条件は以下となります。
コンテンツA ⇒ 10時~17時59分
コンテンツB ⇒ 18時~20時45分
コンテンツC ⇒ 20時46分~翌8時59分
回答4件
あなたの回答
tips
プレビュー