• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:特定の日付に対して、画面の表示がなされるように)

特定の日付に対して、画面の表示がなされるように

このQ&Aのポイント
  • 特定の日付に対して、画面の表示がなされるようにしたいです。
  • 例えば、10月12日、11月3日、11月24日に実際になったときにだけ、画面に表示されるようにして、それ以外の日は、画面上に表示されないというのは可能ですか。
  • 以下のjavascriptの文章を試しましたが、全然うまくいきませんでした。僕は天才じゃないため、断片的な情報から組み合わせて、一つのものを作り上げる能力はありません。ですので、断片的な情報ではなく、全部書いてくださるとありがたいです。

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

  • ベストアンサー
  • _kappe_
  • ベストアンサー率68% (1583/2308)
回答No.3

>こでもうまくいきませんでしたよ。😡 そりゃあ、"diagram.A=true;"なんてことをしてうまく行くわけありません。 その怒りの絵文字は誰に対する怒りですか。回答者に対してであればお門違いもいいところです。そんなことを書くように指示した回答者はいないはずなので、プログラムが思ったように動作しないのは質問者さんの自己責任です。 diagram.Aには整数の3という値が入っていたのに、それをtrueというboolean型の値で書き換えることによってどういう結果が得られると考えていたのか、説明にしてみてください。それが分かれば、質問者さんが何を勘違いしているのかを指摘できるかもしれません。 回答No.1にも書いたとおり、質問者さんは画面表示部分のコードが開示されていないので、「Aダイヤの処理をここに書く」の部分に何を書けばいいのかをこちらから示すことはできません。 平日ダイヤと土休日ダイヤを表示し分けることは既にできている前提で回答していましたが、その画面表示部分のコードを見せてください。

その他の回答 (2)

  • _kappe_
  • ベストアンサー率68% (1583/2308)
回答No.2

>10月12日であれば、(month == 10 && date == 12)、11月3日であれば、(month == 11 && date == 3)が入るはずなんです。 その判定はdayJudge()関数の中にありますよね。10月12日、11月3日、11月24日の場合はdayJudge()関数がdiagram.Aを返すので、それを使ってswitch文で処理すればいいだけです。switchの代わりにif文を使ってif (dayJudge(year, month, date, day) == diagram.A) { 処理内容 }のように書いても構いません。 それとももしかして、10月12日と11月3日と11月24日でそれぞれ別の処理をしたいのでしょうか。その場合は、Aダイヤをさらに分類して新しいダイヤ種別を作ってください。

sembokulove
質問者

補足

こでもうまくいきませんでしたよ。😡 //ダイヤタイプの定義 const diagram = { WeekDay: 1, //平日ダイヤ Holiday: 2, //休日ダイヤ A: 3, //Aダイヤ B: 4, //Bダイヤ C: 5, //Cダイヤ } //ダイヤを判定する function dayJudge(year, month, date, day) { //フラグ(初期値:平日ダイヤ) var diagramFlag = diagram.WeekDay; //土日判定 if(day == 0 || day == 6) { diagramFlag = diagram.Holiday; } //特別な日 if((month == 10 && date == 12)||(month == 11 && date == 3)||(month == 11 && date == 24)) { diagramFlag = diagram.A; } else if(month == 5 && date == 25) { diagramFlag = diagram.B; } else if(month == 5 && date == 30) { diagramFlag = diagram.C; } return diagramFlag; } switch (dayJudge(year, month, date, day)) { case diagram.WeekDay: diagram.Weekday=true; break; case diagram.Holiday: diagram.holiday=true; break; case diagram.A: diagram.A=true; break; case diagram.B: diagram.B=true; break; case diagram.C: diagram.C=true; break; }

  • _kappe_
  • ベストアンサー率68% (1583/2308)
回答No.1

「可能ですか」という質問へは「可能です」と答えますが、具体的なコードを回答に書くことはできません。質問文の中には画面表示部分のコードが示されていないからです。 特定の日付でなければ、平日ダイヤと土休日ダイヤで異なる表示にすることはできているのでしょうか。その部分と同じようにして特定の日専用のダイヤの表示を行えばいいはずです。 ダイヤの種類によってswitch文で場合分けをする例: switch (dayJudge(year, month, date, day)) { case diagram.WeekDay: 平日用ダイヤの処理をここに書く break; case diagram.Holiday: 土休日用ダイヤの処理をここに書く break; case diagram.A: Aダイヤの処理をここに書く break; case diagram.B: Bダイヤの処理をここに書く break; case diagram.C: Cダイヤの処理をここに書く break; }

sembokulove
質問者

補足

いやいや、絶対に10月12日であれば、(month == 10 && date == 12)、11月3日であれば、(month == 11 && date == 3)が入るはずなんです。 そのような場合、コードはどうなるのでしょうか。 先ほどのswitch文だけでは申し訳ございません。 少々説明が不足のようです。

関連するQ&A

専門家に質問してみよう