• ベストアンサー

指定した「曜日」の「時刻」に違うHTMLを表示させるプログラム

いつもお世話になっております。 指定した「時刻」または「曜日」または「日付」に 違うHTMLを表示させるプログラムならば ↓のサンプルプログラム「時計」の5.で出来るのですが http://www2s.biglobe.ne.jp/~club_tom/java-kouza/ja-index.htm これを欲張って 指定した「曜日のさらに違う時刻」に 表示させるプログラムは無いでしょうか。 じっくり勉強する時間はないので フリーのサンプルプログラムや 上記の改造方法を教えていただければ 本当に助かります・・・ よろしくお願いします m(_)m

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

  • ベストアンサー
  • m035
  • ベストアンサー率44% (38/86)
回答No.1

http://www.tagindex.com/cgi-lib/q4bbs/patio.cgi?mode=view&no=105 で似たような質問があります。 役立つと思いますので一読してみてください。

chiroru2004
質問者

お礼

早速ありがとうございます。 教えていただいた掲示板のNO24のスクリプトが 一番簡単そうなので設置してみたのですが・・・↓ <BODY> <script type="text/javascript"> <!-- var today,hr,n; today=new Date().getDay(); hr=new Date().getHours()*100 + new Date().getMinutes(); function ShowMess(){ var mess = ""; switch(today){ case 0: //日 if(hr >= 501 && hr <= 1000) mess = "日曜の5:01~10:00ですよ"; break; case 0: //日 if(hr >= 1001 && hr <= 1800) mess = "日曜の10:01~18:00ですよ"; break; case 0: //日 if(hr >= 1801 && hr <= 0) mess = "日曜の18:01~0:00ですよ"; break; case 0: //日 if(hr >= 01 && hr <= 500) mess = "日曜の0:01~5:00ですよ"; break; case 1: //月 if(hr >= 501 && hr <= 1000) mess = "月曜の5:01~10:00ですよ"; ・ ・ ・ (省略) ・ ・ ・ case 6: //土 if(hr >= 01 && hr <= 500) mess = "土曜の0:01~5:00ですよ"; break; } mess = "<center><b>"+mess+"</b></center>"; return mess; } document.write(ShowMess()); --> </script> </BODY> と、書きかえてブラウザで開いても全く何も表示されません。 スクリプトエラーにすらなりません・・・ どこか記述が間違っているのでしょうか? サンプルをそのまま貼り付けると表示されるのですが。

その他の回答 (3)

  • meke2
  • ベストアンサー率41% (16/39)
回答No.4

#2のものです。早速間違えてました。。 「0:00」になると次の曜日になってしまうので「18:01~0:00」で作ろうとすると以下のようになりますね。 ------------------------------------------------ case 0: //日 if(hr == 0) mess = "土曜の18:01~0:00ですよ"; if(hr >= 501 && hr <= 1000) mess = "日曜の5:01~10:00ですよ"; if(hr >= 1001 && hr <= 1800) mess = "日曜の10:01~18:00ですよ"; if(hr >= 1801) mess = "日曜の18:01~0:00ですよ"; if(hr >= 1 && hr <= 500) mess = "日曜の0:01~5:00ですよ"; break; case 1: //月 if(hr == 0) mess = "日曜の18:01~0:00ですよ"; if(hr >= 501 && hr <= 1000) mess = "月曜の5:01~10:00ですよ"; if(hr >= 1001 && hr <= 1800) mess = "月曜の10:01~18:00ですよ"; if(hr >= 1801) mess = "月曜の18:01~0:00ですよ"; if(hr >= 1 && hr <= 500) mess = "月曜の0:01~5:00ですよ"; break; ---------------------------------------------- さらに書き方に誤りがあったので‥‥ >矛盾(hrは0以上の数字しかない) これは「hrは 0~2359 の値の「どれか1つ」しかない」ということで。。 0(以下)であり1801以上の「値」なんておそらく存在しないため条件としては矛盾してます。ということでした。

chiroru2004
質問者

お礼

まとめてお礼を。 実は最初に教えていただいた掲示板の中にあった 別の方が書かれたスクリプトで試してみると 希望どおりに動作しました。 ので、そちらを使うことにしました。 アドバイスたいへん役立ちました。 ありがとうございました。

  • m035
  • ベストアンサー率44% (38/86)
回答No.3

case 0: //日 if(hr >= 501 && hr <= 1000) mess = "日曜の5:01~10:00ですよ"; break; case 0: //日 if(hr >= 1001 && hr <= 1800) mess = "日曜の10:01~18:00ですよ"; break; case 0: //日 if(hr >= 1801 && hr <= 0) mess = "日曜の18:01~0:00ですよ"; break; case 0: //日 if(hr >= 01 && hr <= 500) mess = "日曜の0:01~5:00ですよ"; break; ↑caseとbreakの使い方がおかしいと思われます。 たとえば日曜日だと 最初の部分でcase 0の日曜に当てはまりますが、ifの条件に合わない場合、 breakによってswitchのループから抜け出してしまいます。 このため、もし、仮に表示されたとしても、各曜日のcaseの最初のifしか判定されません。 この場合は case 0://日曜 if(hr >= 501 && hr <= 1000) mess = "日曜の5:01~10:00ですよ"; if(hr >= 1001 && hr <= 1800) mess = "日曜の10:01~18:00ですよ"; if(hr >= 1801 && hr <= 0) mess = "日曜の18:01~0:00ですよ"; if(hr >= 01 && hr <= 500) mess = "日曜の0:01~5:00ですよ"; break; case 1: //月 if(hr >= 501 && hr <= 1000) mess = "月曜の5:01~10:00ですよ"; if(hr >= 1001 && hr <= 1800) mess = "月曜の10:01~18:00ですよ"; if(hr >= 1801 && hr <= 0) mess = "月曜の18:01~0:00ですよ"; if(hr >= 01 && hr <= 500) mess = "月曜の0:01~5:00ですよ"; break; (以下略) のように各曜日ごとのcaseとbreakは一つずつで十分です。 コレでもだめなら再度報告してください。

  • meke2
  • ベストアンサー率41% (16/39)
回答No.2

まずは、おそらくこれで動くはずのスクリプトを。。 ------------------------------------------------- <BODY> <script type="text/javascript"> <!-- var today,hr,n; today=new Date().getDay(); hr=new Date().getHours()*100 + new Date().getMinutes(); function ShowMess(){ var mess = ""; switch(today) { case 0: //日 if(hr >= 501 && hr <= 1000) mess = "日曜の5:01~10:00ですよ"; if(hr >= 1001 && hr <= 1800) mess = "日曜の10:01~18:00ですよ"; if((hr >= 1801 && hr <= 2359) || hr == 0) mess = "日曜の18:01~0:00ですよ"; if(hr >= 1 && hr <= 500) mess = "日曜の0:01~5:00ですよ"; break; case 1: //月 if(hr >= 501 && hr <= 1000) mess = "月曜の5:01~10:00ですよ"; if(hr >= 1001 && hr <= 1800) mess = "月曜の10:01~18:00ですよ"; if((hr >= 1801 && hr <= 2359) || hr == 0) mess = "月曜の18:01~0:00ですよ"; if(hr >= 1 && hr <= 500) mess = "月曜の0:01~5:00ですよ"; break; case 2://火 ・ 省略 ・ case 6: //土 if(hr >= 01 && hr <= 500) mess = "土曜の0:01~5:00ですよ"; break; default: // 上記で当てはまらない場合。。 break; } mess = "<center><b>"+mess+"</b></center>"; return mess; } document.write(ShowMess()); --> </script> </BODY> ------------------------------------------------- #1の回答に対するお礼のスクリプトの場合だと‥‥ 「それぞれの曜日で5:01~10:00」の場合は表示されると思われますが、それ以外はbreak;によって以降の同じ曜日での判定はスキップされちゃいます。 >if(hr >= 1801 && hr <= 0) mess = "日曜の18:01~0:00ですよ"; こちらも判定としては「hrは1801以上かつ0以下」と矛盾(hrは0以上の数字しかない)してるのでこのサンプルでは上のような感じで判断すればいいかと。。

関連するQ&A

  • ポイントで出るメッセージ

    リンク部分にマウスを持っていくとメッセージが出るプログラムで、 スタイルシートで固定した中に表示するものは見つけました。 たとえば http://www2s.biglobe.ne.jp/~club_tom/java-kouza/ja-index.htm の http://www2s.biglobe.ne.jp/~club_tom/java-kouza/sample/mes/mes-no5_2/mes-no5_2.htm のようなものですが これを、どの大きさのウインドウやどの解像度のブラウザから見ても メッセージを固定位置に表示させることはできないでしょうか? スタイルシートで固定したところに表示だと ピクセル指定でも%指定でも、ウインドウの大きさを変えるとやっぱりちょっとずつ見え方が違ってしまうのです。 ページ全体をガチガチにスタイルで固めてしまうとできるのかもしれませんが・・・ できればテーブルの中に表示させるとか、スタイルで固めてないページの中にも使える形がいいのですが・・・ わがままですみませんがよろしくお願いします。

  • ソースのどの部分を変更すれば・・・

    Club とむやんさんのページでハイパーリンクというのがありまして11番の画像の部分にメニューがでます。というのを使いたいのですが、サンプルは、画像が横に置いてるんですが、この画像を縦に並べたいのです。ソースのどこのどの部分を変更すればできるのか教えて頂けたらうれしいのですが、宜しくお願いします。 http://www2s.biglobe.ne.jp/~club_tom/java-kouza/ja-index.htm

  • 指定した「曜日」の「時刻」に違うHTMLを表示させるプログラム・2

    いつもお世話になっております。 ↓以前の質問 「指定した「曜日」の「時刻」に違うHTMLを表示させるプログラム」 http://oshiete1.goo.ne.jp/kotaeru.php3?q=1748111 やりたいことはほぼ解決しているのですが これを ●ジャバスクリプトのタグ内に表示させたいHTMLを記述する。 というやり方ではなく、 ●フレームまたはアイフレーム内に、指定した「曜日」の「時刻」によって、HTML内の<a name="">タグで指定した任意の場所を表示する ・・・というやり方はないでしょうか。 テレビ局のサイトによくある 「ただいま放送中!」みたいな感じです↓ http://www.fujitv.co.jp/index.html ここまで細かくなくても、月曜日の12:00~15:00は、このページのこの場所を表示する。程度でいいのですが・・・ よろしくお願いします。

  • 背景画像の変更と保存

    1.プルダウン(セレクト)メニューで画像名を選択すると、背景画像が変更できる 2.背景画像によって、配置位置を指定できる(右上固定/全面に繰り返し表示等) 3.ブラウザを閉じて開いても、選択した画像が背景に表示される 下記がイメージに近いのですが、2と3の機能がありません。 http://www2s.biglobe.ne.jp/~club_tom/java-kouza/sample/ha/ha-no5_2/ha-no5_2.htm 再現できるスクリプトを紹介して頂けると助かります。宜しくお願い致します。

    • ベストアンサー
    • HTML
  • 同時にフレームの背景色を変える

    http://www2s.biglobe.ne.jp/~club_tom/で配布されている背景 No.1.1(http://www2s.biglobe.ne.jp/~club_tom/java-kouza/sample/ha/ha-no1_1/ha-no1_1.htm)を使用しています。 2分割つしたフレーム(AとB)のAフレームに上記のスクリプトを設置し、カラーパレットクリックでAとBのフレームの背景色を変更したいと思っているのですが、カスタム方法が解りません。御教示頂けると助かります。 または、カラーパレット(のようなもの)をクリックで、複数のフレームの背景色を変更出来るスクリプトをさがしています。宜しくお願い致します。

  • マウスカーソルに画像が追っかけてくる

    マウスカーソルに画像が追っかけてくるのを時々見かけます。 自分のページでも試してみましたがうまくいきません。 1つだけのページでは動作しましたが、フレームを使用しているため、別フレームにいくと切れてしまいます。 この「カーソルを画像が追っかけてくる」をフレームを越えて適用する方法はありませんか? ○使用したプログラム http://www2s.biglobe.ne.jp/~club_tom/java-kouza/ja-index.htm ↑ここの「お遊び」→3.2「マウスカーソルを動かすと画像が付いて来ます。」です。 大小5個の☆の画像があり、大の☆マーク→小の☆マークとカーソルに付いて来ることで、流れ星のように見えるというものです。 フレームを設定するだけのファイルに載せてみましたがダメでした。 全フレームにプログラムを載せると表示した時にすべてのフレームに☆が表示されてしまいます。 どなたかご存知の方、参考URLでもかまいませんのでよろしくお願いします。

  • 曜日と時間を指定して表示画像を切り替える

    JavaScriptの組み合わせになるかとは思うのですが。 例えば「月曜日の7:00-8:00」はimg01.gifで、それ以外の時間はimg02.gifとなるように するには、どのようなスクリプトを打てばいいのでしょうか? ググってみて参考になりそうなサイトを見つけたのですが・・・うまく組み合わせることができません。 また、日付指定を利用して1年分もしくは1ヶ月分書いてもできるとは思うのですが、 出来れば軽さを考慮して曜日指定にしたいと思っています。 以下のサイト以外の方法以外でも結構ですので、よろしくお願いいたします。 「画像の自動差し替え(No.2回答補足)」 http://oshiete1.goo.ne.jp/kotaeru.php3?q=551922 「サンプル16」 http://www.usagi-js.com/sample/jssample2.htm 「指定した日付で画像を切り替え」 http://www2s.biglobe.ne.jp/~Hiro/js/GraphicChangerByDate.html ※

  • html で「曜日」の設定がわかりません。?

    このカテゴリーでよろしいんでしょうか。 お借りした「biglobe/ビッグローブさまの相談掲示板」 をカスタマイズしているのですが。 htmlで 年月日時刻までは「出るように」してあるのですが。 「曜日」の設定がわかりません。 訓えていただけるとありがたいです。 ちなみに現在 [BBS_STRING_DATE_Y年BBS_STRING_DATE_M月BBS_STRING_DATE_D日 BBS_STRING_TIME_H時BBS_STRING_TIME_M分BBS_STRING_TIME_S秒] となっています。 要領の悪いご質問ですみません。

  • 「画像の上を流れる文字列」をこんな風に表示する事は可能ですか?

    以前、この欄で「画像の上を流れる文字列」の作り方を教えて頂きました。 お陰様でうまくできました。・・・のですが、さらに下記の様な事って、可能なのかどうか教えて頂きたくて、質問しました。 それは、 サンプルでは、「1行目の文章が右から左に流れ、その1行目の文章が完全に見えなくなってしばらくしてから、2行目の文章が右から現れる」のですが、それを、「1行目の文章が完全に見えなくなる前に次の2行目の文章を表示させたい」という事です。つまり、1行目の文章の後に少し空白を入れて2行目が出てきて、2行目のあとにも空白が少し入って、3行目が出てくる・・というように、「途切れさせずに次々と文章が出てくるように」したいのです。 参考HPでは、JSとレイヤーが使われているのではないかと思うのですが、(自信がありませんが)どこを変えれば上記の様になるのか、判りません。 それとも、こんな動作はもともと出来ないのでしょうか? 当方、JSはもちろん、レイヤーとはどう言う物なのかも、いまいち、よく判からないのですが、どなたか、上記のような事が可能なのかどうか、教えてやってください。よろしくお願いします。 参考にさせて頂いたHP http://www2s.biglobe.ne.jp/~club_tom/java-kouza

  • やさしいJava第二版のサンプルプログラムの改造

    やさしいJava第二版のLesson9のサンプルプログラムを改造して、目的のプログラムを作ろうとしています。 Lesson9のSample5.javaを改造しているのですが、もともとあるサンプルではバイナリファイルの保存や読み書きをする際にダイアログが出てきて、場所やファイル名を指定しなければいけません。これを、プログラム中で元々ファイル名や場所を決めておき、プログラムを実行し数値を入力すると勝手にプログラム中で指定されてあるファイル名で、指定されている場所に保存するようにしたいんです。 なかなかうまくいかないので、どこをどのように変えたらいいのか教えてください。 ファイルの名前は何でもいいんですが、場所はクラスファイルがある場所にしたいです。

    • ベストアンサー
    • Java

専門家に質問してみよう