
このカレンダーの年月日の横に翌月へを追加したいのですが
やり方がわかりません。
翌月へをクリックすると翌月のカレンダーに変わるようにしたいです。
どなたかよろしくお願いします。
// 表示月数(x)
x=1;
//
cldr = "";
day = new Date();
thisday = day.getDate();
day.setDate(1);
month = day.getMonth() + 1;
year = day.getYear();
if(year < 2000) year += 1900;
numdays = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
if((year%4 == 0) && (year%100 != 0) || (year%400 == 0)) numdays[1] = 29;
for(j = 0; j < x; j++){
date = new Date();
date.setDate(1)
thisMonth = date.getMonth() + 1 + j;
date.setMonth(thisMonth - 1);
if(thisMonth > 12){
if(thisMonth % 12 == 1){
year++;
}
}
thisMonth = date.getMonth() + 1;
date.setDate(1);
firstDay = date.getDay();
if(thisMonth == 1){holiday1 = 1; holiday2 = 14-(firstDay+5)%7; holiday3 = -1}
else if(thisMonth == 2){holiday1 = 11; holiday2 = -1; holiday3 = -1}
else if(thisMonth == 3){
ed = 20.8431 + 0.242194 * (year - 1980) - Math.floor((year - 1980)/4);
holiday1 = Math.floor(ed);
holiday2 = -1;
holiday3 = -1;
}
else if(thisMonth == 4){holiday1 = -1; holiday2 = -1; holiday3 = -1}
else if(thisMonth == 5){holiday1 = 3; holiday2 = 4; holiday3 = 5}
else if(thisMonth == 6){holiday1 = -1; holiday2 = -1; holiday3 = -1}
else if(thisMonth == 7){holiday1 = 21-(firstDay+5)%7; holiday2 = -1;holiday3 = -1}
else if(thisMonth == 8){holiday1 = -1; holiday2 = -1; holiday3 = -1}
else if(thisMonth == 9){
holiday1 = 21-(firstDay+5)%7;
ed = 23.2488 + 0.242194 * (year - 1980) - Math.floor((year - 1980)/4);
holiday2 = Math.floor(ed);
holiday3 = -1
}
else if(thisMonth == 10){holiday1 = 14-(firstDay+5)%7;; holiday2 = -1; holiday3 = -1}
else if(thisMonth == 11){holiday1 = 3; holiday2 = 23; holiday3 = -1}
else if(thisMonth == 12){holiday1 = 23; holiday2 = 30; holiday3 = -1}
// 文字サイズ
ymsize =16;
dysize =16;
//
// 色
color0 = "aqua"; // 今日の背景
color2 = "red"; // 日曜,金曜,祝祭日
//
cldr += "<table class='calender'>"; // カレンダーTable内の書式
cldr += "<tr class='calender'><th colspan=4><font color='#ffffff' style='font-size : "+ ymsize +"px;'>"+year+"年"+thisMonth+"月</font></th><th colspan=3>翌月へ</th></tr>"; // 年月セルの書式
cldr += "<tr class='calender2'><td>日</td><td>月</td><td>火</font></td><td>水</td><td>木</td><td>金</td><td>土</td></tr>";
for(sunday = 1-date.getDay(); sunday <= 36; sunday +=7){
cldr += "<tr align=center>";
for(i = sunday; i < sunday + 7; i++){
if((i > 0) && (i <= numdays[thisMonth-1])){
date.setDate(i);
today = date.getDay();
if((thisday == i)&&(month == thisMonth)){
cldr += "<td bgcolor='"+ color0 +"'>"
}else{
cldr += "<td>";
}
if((today == 0)||(i == holiday1)||(i == holiday2)||(i == holiday3)||((today == 1)&&((i-1 == holiday1)||(i-1 == holiday2)||(i-1 == holiday3)))) {
cldr += "<font color='"+ color2 +"'>"+ i +"</font>"; // 日曜,金曜の書式,祝祭日の書式
}else
{
cldr += i; // その他の日の書式
}
cldr += "</td>";
}else{
cldr += "<td> </td>";
}
}
cldr += "</tr>";
}
cldr += "</table>";
}document.write(cldr);
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
>もう少し、どうするか教えて頂けたら
ごめんなさい、私が提示した内容で理解いただけないのであれば
どのくらい初心者なのか皆目見当が付きません
おそらくかなり初心者なのでしょうから、例題がたくさん載っている
ような参考書籍を探して購入し基礎から学習なさるのをお勧めします。
とくに自力でWEB検索するのが困難な場合は、書籍を元にした方が
効率的です。
まだ、この「[技術者向] コンピューター」の掲示板に質問を
なさる段階にないと思います。
(なにせ技術者向けですから、初心者という題目は免罪符になりません)
この回答への補足
ご回答ありがとうございます。
javascriptについては全くの初心者です。
持っている参考書もあるのですが理解できていない状況です。
今ついているカレンダーに翌月がついたら良くなるだろうという
軽い気持ちで質問してしまいました。
もう少し時間をかけて頂いた回答の意味がわかるまで
自分で勉強してみます。
[初心者] コンピューターのカテゴリーはないですね。
No.3
- 回答日時:
> もう少し
翌月のリンクのときに、翌月の年月日を渡してあげてやればいいのよ。
日は1日で十分だわね。
それを受け取ってnew Date()しているところに渡してあげればいいのよ。
今日の判定は改めてnew Date()しないとね
・・・うんぬんかんぬん・・・
> 参考に
だったら最初から
前月次月のリンクのある
カレンダーを探して北ほうが早いわよ。
ぐぐればすぐ見つかるわ。
この回答への補足
回答ありがとうございます。
ホームページにこのカレンダー載せて
少し経ったので愛着がわいてしまいました。
リンクのついているカレンダーを探して
参考にしてもう少し自分で頑張ってみます。
No.2
- 回答日時:
まるっと書くのは大変なのでHINTだけ
今日2009年4月8日は
new Date(2009,3,9)
で取得できるわ。
月だけ-1になるので注意ね。
この回答への補足
早速のご回答ありがとうございます。
javascriptについて全くの初心者なのでまったく
理解できていません。
とりあえずカレンダーが必要でしたので
JavaScript訓練所というところのカレンダーを
参考にさせて頂きました。
http://www004.upp.so-net.ne.jp/sekiuchi/js/conte …
もう少し、どうするか教えて頂けたら助かります。
初心者でも理解できるようなページがあれば教えて頂きたいです。
No.1
- 回答日時:
ちょっと丸投げ過ぎなので、真剣に見てないので正確なことは
言えませんが、なんかうるう年処理とかもなんか中途半端で
もう少し効率化できないもんですかねぇ・・・
実際のところ
day = new Date();
で、今日の日付を得ていますから、
day = new Date();
day.setDate(1);
day.setMonth(day.getMonth()+1);
とすれば、dayは来月の1日になります。
そのへんで処理してみてはどうでしょ?
この回答への補足
早速のご回答ありがとうございます。
javascriptについて全くの初心者なのでまったく
理解できていません。
とりあえずカレンダーが必要でしたので
JavaScript訓練所というところのカレンダーを
参考にさせて頂きました。
http://www004.upp.so-net.ne.jp/sekiuchi/js/conte …
もう少し、どうするか教えて頂けたら助かります。
初心者でも理解できるようなページがあれば教えて頂きたいです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) python 気象データの取得 2 2023/06/20 23:54
- 英語 『ローマの休日』が "Holiday in Rome” なら? 4 2023/04/07 21:56
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
- 英語 「英文解釈」についての質問です。 2 2023/06/16 17:41
- HTML・CSS テーブルタグのセルの幅の一部だけを指定 1 2023/03/12 12:02
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- Visual Basic(VBA) Selenium.ChromeDriverの使い方について 7 2022/09/22 06:43
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- PHP style.cssのjQuery条件付きcssが機能しない 4 2022/07/17 18:27
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プルダウンで選択すると、DBの...
-
tableの任意行にfocusをあてる
-
ハイパーリンクを別ウインドウ...
-
一覧から選択した行の行番号を...
-
JavaScriptでテーブルをクリッ...
-
テーブル列の表示・非表示機能...
-
テーブルの項目の値取得
-
JavaScriptで特定のtdタグにcla...
-
テーブルの変数について
-
【秀丸マクロ】検索行と、その...
-
JavaScriptから自ページリンク...
-
テーブル行のクリックでチェッ...
-
クリックされた罫表セルの行番...
-
特定<table>内の<td>の色を変える
-
カレンダーの年月日の横に翌月...
-
return trueとreturn falseの用...
-
Selectの中身をfor文で入れる
-
javascriptでoptionタグを削除...
-
Selectボックスの幅を自動で広...
-
sessionの値でボタンを活性・非...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
特定<table>内の<td>の色を変える
-
ハイパーリンクを別ウインドウ...
-
プルダウンで選択すると、DBの...
-
JavaScriptで特定のtdタグにcla...
-
至急!GetElementById でtdの...
-
一覧から選択した行の行番号を...
-
クリックされた罫表セルの行番...
-
tableの任意行にfocusをあてる
-
javascript クリックすると、あ...
-
チェックボックスにチェックが...
-
マウスをブラウザの外に出した...
-
ブルダウン選択でページの表示...
-
Excelで作ったhtmlファイルのサ...
-
スクロールバーの表示位置を変...
-
動的なtableの値を取得したい
-
ツールチップにテーブル左端列...
-
【UWSC】HTML内のある部分を抽...
-
別ページからOnclickでテーブル...
-
【JQuery】テーブルで行選択さ...
-
JSで、テーブルのある行のみ、...
おすすめ情報