• ベストアンサー

指定した時間になると現れるリンク

こんにちは。質問させて頂きます。 こちらが指定した時間にリンク表示させるにはどうしたらいいのでしょうか。 他のサイトで見掛けたのですが、普段は別のページへのリンク文字が出ていて、とある時間になると別のリンクになっていました。 失礼と思いつつ、ソースを覗かせて頂きましたが、いわゆる「時間によって違うHTMLを表示する」スクリプトではありませんでした。 ↓これなのですが・・・ <script language="JavaScript"> <!--------------- var m1 = "● SPECIAL" var m2 = "" // function geth(t){ if (t<=1) document.write( m2 ); else { if (t<=4) document.write( m1 ); else { if (t<=23) document.write( m2 ); }} } //--------------> </SCRIPT> まず上記タグをヘッド内に入れて <A HREF="special.htm" onmouseover="status='スペシャルコーナー';return true" onmouseout="status='SPECIAL';return true" ><B><font color="#cc0000" size="2"> <script language="JavaScript"> <!-------------- h = new Date(); document.write(""); geth(h.getHours()); //-------------> </SCRIPT> </font></B></A> これを表示させたい所に記述するみたいです。 問題なのは時間で、このサイトでは夜中の2時から朝の5時まで表示させるようにしているらしいのですが、head内のタグを見ても、具体的にどうやって時間指定するのか、全然判りません。 どなたかこのスクリプトの判る方、このスクリプトをどこかで見掛けた方、いらっしゃいましたら教えて頂けないでしょうか? 宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
noname#8153
noname#8153
回答No.3

間違えました。 if( t >= 1 && t <= 5 )  ではなくて if( t >= 2 && t < 5 )   ですね。 失礼しました。

taroyan
質問者

お礼

ありがとうございます! 早速やってみます。 助かりました!

その他の回答 (2)

noname#8153
noname#8153
回答No.2

geth(t)のtの値は0~23になりますので、 if (t<=1) document.write( m2 ); else { if (t<=4) document.write( m1 ); else { if (t<=23) document.write( m2 ); }} 1行目で0:00~1:59 2行目で2:00~4:59 3行目で5:00~23:59 の表示を出力していることになります。 私なら if( t >= 1 && t <= 5 ) document.write( m1 ); else document.write( m2 ); にしてしまいますが。

noname#2072
noname#2072
回答No.1

 時間指定で表示するJavaScriptは、 時間によって異なるあいさつ文を表示する <HTML> <TITLE>Message Time</TITLE> <SCRIPT language="JavaScript"> <!-- function PrintMessage(){ date=new Date(); hsdate.getHours(); if(5<=h && h<10){ document.write("おはようございます”); } else if(10<=h && h<17){ document.write("こんにちは"); } else if(17<=h && h<22){ document.write("こんばんは”); } //--> </SCRIPT> <BODY> 時刻によってメッセージが変わる <HR> <SCRIPT language="JavaScript"> <!-- PrintMessage(); //--> </SCRIPT> </BODY> </HTML> 質問文の中では、 if (t<=1) document.write( m2 ); else { if (t<=4) document.write( m1 ); else { if (t<=23) document.write( m2 ); ↑  この部分が、時間指定と思いますけど???

taroyan
質問者

お礼

御返答ありがとうございました。 上の方が教えて下さいましたので、やってみます。 また何かありましたら、宜しくお願い致します。

taroyan
質問者

補足

ご返答ありがとうございます。 御指摘の箇所がが時間指定だという事はわかっているのですが 具体的にどう○時から○時迄と指定するのかがよく判らないのです。 if (t<=1) document.write( m2 ); else { if (t<=4) document.write( m1 ); else { if (t<=23) document.write( m2 ); この例でいくと、時間が深夜一時 (2時に切り替わる前)より前であったらm2、深夜4時(5時に切り替わる前)であったらm1を表示という事はなんとなくわかりますが、最後の else { if (t<=23) document.write( m2 ); これが、どういう原理で23と指定しているのかがわからないのです・・・。 おわかりになるのであれば、教えて頂ければ幸いです。

関連するQ&A