![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
いつもお世話になっております。
指定した「時刻」または「曜日」または「日付」に
違うHTMLを表示させるプログラムならば
↓のサンプルプログラム「時計」の5.で出来るのですが
http://www2s.biglobe.ne.jp/~club_tom/java-kouza/ …
これを欲張って
指定した「曜日のさらに違う時刻」に
表示させるプログラムは無いでしょうか。
じっくり勉強する時間はないので
フリーのサンプルプログラムや
上記の改造方法を教えていただければ
本当に助かります・・・
よろしくお願いします m(_)m
No.1ベストアンサー
- 回答日時:
早速ありがとうございます。
教えていただいた掲示板の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>
と、書きかえてブラウザで開いても全く何も表示されません。
スクリプトエラーにすらなりません・・・
どこか記述が間違っているのでしょうか?
サンプルをそのまま貼り付けると表示されるのですが。
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以上の「値」なんておそらく存在しないため条件としては矛盾してます。ということでした。
まとめてお礼を。
実は最初に教えていただいた掲示板の中にあった
別の方が書かれたスクリプトで試してみると
希望どおりに動作しました。
ので、そちらを使うことにしました。
アドバイスたいへん役立ちました。
ありがとうございました。
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は一つずつで十分です。
コレでもだめなら再度報告してください。
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が見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAにてメール作成した際、一部指定箇所のみ赤文字にしたいです。 下記の内容ですと作成されたメール本 1 2022/04/27 13:31
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 1 2022/06/18 21:20
- その他(セキュリティ) Spotifyが突然張り付いた、消す方法はありませんか! 1 2022/09/22 14:14
- Windows 10 windows11 update の「更新の再開」について初歩的な質問なのですが 1 2022/10/19 00:57
- ダイヤルアップ Raspberry Piでアナログモデム経由で音声再生 1 2022/05/20 18:01
- 英語 【 論・表 英訳 】 問題 A:次の月曜日に東京を訪れる予定なんだ。会えない? B:運がいい。私は1 2 2022/07/24 21:55
- HTML・CSS ホームページにブログ記事をサムネイル付きで掲載する方法 2 2022/11/25 14:55
- C言語・C++・C# [C言語] コメント文字列を無視して、数値データを読み込むプログラム部分について 5 2022/10/05 11:03
- CAD・DTP Autocad Scriptファイルからの入力とコマンドラインからの入力が違う 1 2023/08/01 09:13
- Access(アクセス) Accessで予定表を作成しようとしてます。 テーブル フィールド名 連番 オートナンバー型 年月日 2 2023/07/23 11:40
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
UAによるリダイレクト
-
Cookieの回数で閲覧制限、javas...
-
CGIフォーム一定時間過ぎる...
-
document.writeの文字列が実行...
-
指定した「曜日」の「時刻」に...
-
ホームページで更新情報を知らせる
-
Safariでポップアップが表示で...
-
<a href="#" …>の意味を教えて...
-
外部読み込みで動かないときの...
-
他のページ更新
-
フレーム分割領域のサイズを変...
-
色の指定で配列を使いたい
-
DOMで生成したタグにCSSが適用...
-
セレクトメニューでリンクの際...
-
小ウインドウのスクロールバー
-
javascriptでalertの文字列をコ...
-
ページによって表示位置がずれ...
-
曲名のアンダーラインをなくすには
-
bodyにidをつける理由は何ですか?
-
javascriptとjuaryを同時に
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
javascriptで変数を組み込みたい
-
CGIフォーム一定時間過ぎる...
-
明日の日にちを表示するときは
-
書いたクッキーを読み出してメ...
-
カウントダウンとカウントアッ...
-
HTML画面上で文字の大きさを変...
-
動的生成したscriptタグが実行...
-
特定のURLからの訪問者を入室禁...
-
¥マークの検索について
-
UAによるリダイレクト
-
ホームページを見る度にTOP画面...
-
変数に入れた文字列をindexOfで...
-
HPビルダーで『最終更新日時』...
-
ランダム音声と正解・不正解の表示
-
document.getElementById
-
特定URLからの遷移後、指定ULR...
-
Cookieの回数で閲覧制限、javas...
-
ホームページに定休日のカレン...
-
外部javascriptファイルをjavas...
-
document.writeの文字列が実行...
おすすめ情報