|
|
11/24(Sun) 13:13
万年カレンダー
★「おしらせ」★
○「祝日法」改正等に伴うカレンダー関連の変更については、こちらをご参照ください。
■(01.12.31)NetScapeで12月が表示されない不具合を修正しました
■(01.12.31)特別日を今日からx日後に設定する方法を追加しました
■(01.08.02)koyomi(yy+"/"+(mm-n));の(mm-n)が負の場合にエラーとなる不具合を修正しました
■(99.11.05)2000年以降の成人の日/体育の日(第2月曜日)対応、振替休日の自動計算
■(99.07.24)複数月同時表示へ機能アップ、表示カラー変更
■(99.05.09)2000年対応ルーチンの追加
このカレンダーを応用した、カレンダー付Web日記帳(Personal-Diary)があっぽー庵さんの自作CGI配布コーナで入手できます。以下はあっぽー庵さんの説明の引用です。
日付、ログの編集、過去ログ自動生成など、WebDiaryとして考えうるほぼ全ての機能を満載しました。カレンダーを表示させ、見たい日にちを選択するモードと、月ごとにまとめて表示するモードの2つのどちらかを選択することができるのもこのスクリプトの特長です。また、日付を選択して日記を書くことができます。
■ 1ヶ月(今月)表示
■ 3ヶ月(複数月)表示
スポンサーリンク
■スクリプトのコピー&貼りつけ
下のスクリプトをコピーし、<HEAD>と</HEAD>のなかに貼りつけます。
- ハッピーマンディ、振替休日の自動計算機能追加にともないkyuDaysの配列内位置と休日月日は固定です。この行は変更しないで下さい。
- 特別な日(例えばメーデーや誕生日など)を追加したい場合は、tokuDays に "0501","1225" のように文字列で追加します。
- 表示色の優先度は 特別日>祭日>日、土になります。
- 特別日をクリックすると挨拶などを書いた新ページをオープンすることもできます。(最下段の「改造」を参照)
- 年を表示したくない場合は、doc+=year + "年";を// doc+=year + "年";とコメント行にするか、この部分を削除します。
- テーブル背景色の変更---年月<TR bgcolor=#0000a0>、曜日<TR bgcolor=#f7ffa0>、日<TR bgcolor=#ddffdd>(2ヶ所あります)、本日<TR bgcolor=cyan>の色指定を変更します。あなたの好きな背景色に変更出来ます。
【注意】広告バナーが自動的に表示されるプロバイダー(Geocitiesやfreewebなど)をご利用のユーザでスクリプトエラーが起こる時は下記の対処をして下さい。広告の挿入が、最初に見つけた<BODY>タグの直後にされるためスクリプトエラーになります。
広告バナーの表示・非表示選択ができるユーザ。Geocitiesの場合はジオガイドマネージャーの「ジオガイドの調整」で、スクリプトを設置したファイルのジオガイドを表示しない設定に変更します。
広告バナーの表示・非表示選択ができないユーザ。スクリプト本体を<HEAD>部ではなく<BODY>部(BODYタグの次行)に移動してください。
■ カレンダーを表示したい場所に下の文を記述します。
■ 1ヶ月(今月)表示
■ 3ヶ月(複数月)表示
月数を減らしたり、増やしたい時は
document.write("</td><td valign=top>");
koyomi(yy+"/"+(mm+1));
を削除したり追加します。mmは今月、mm+1は来月、mm+2は再来月を表示します。
同様にmm-1は前月、mm-2は前々月になります。
■ 特別日をクリックすると新しいページをオープンするようにするには。(上のスクリプトにはすでに組み込まれています)
- 下の赤字部分を追加します
if (myday.getMonth()+1 == tokuDays[j].substring(0,2) && i == tokuDays[j].substring(2,4)*1) doc+="<a href='" + tokuDays[j].substring(0,4) + ".html'><FONT COLOR=orange>";
}
doc+=i;
doc+="</FONT></a></TD>"
- mmdd.htmlというファイルを用意し、同じフォルダに置きます。mmddは特別日の月日です。例えば3月4日だと0304.htmlになります。
■ <応用>特別日を今日からx日後に設定するには(上の表示サンプルでは3日後、10日後が組み込まれています)
- tokuDays = new Array("0518"); //特別日設定
の行を以下のソースと置き換えます。"0518"を設定しないときは「,"0518"」を削除してください。
- 特別日をさらに追加したいときは
(1)tokuMon0、tokuDay0、tokuDate0 の変数名を tokuMonn、tokuDayn、tokuDaten のように数字を変更して追加します。
(2)tokuDays = new Array(tokuDate0,tokuDate1,tokuDaten,"0518");の中にtokuDatenを追加します
- 特別日にはリンクが組み込まれていますので、上の「特別日をクリックすると新しいページをオープンするようにするには」の赤字部分を削除してリンクを外します。
特別日の日付をブリンクさせたいときは、この Aタグを BLINKタグに置き換えます。(NetScapeで有効)
//特別日を今日からx日後に設定
nDateYear = nDate.getYear();
nDateMon = nDate.getMonth()+1;
nDateDay = nDate.getDate() + 3; //今日から3日後を指定
tokuDate = new Date(nDateYear + "/" + nDateMon + "/" + nDateDay);
tokuMon0 = tokuDate.getMonth()+1;
tokuDay0 = tokuDate.getDate();
tokuMon0 = ((tokuMon0 < 10) ? "0" : "") + tokuMon0;
tokuDay0 = ((tokuDay0 < 10) ? "0" : "") + tokuDay0;
tokuDate0 = tokuMon0 + tokuDay0;
nDateDay = nDate.getDate() + 10; //今日から10日後を指定
tokuDate = new Date(nDateYear + "/" + nDateMon + "/" + nDateDay);
tokuMon1 = tokuDate.getMonth()+1;
tokuDay1 = tokuDate.getDate();
tokuMon1 = ((tokuMon1 < 10) ? "0" : "") + tokuMon1;
tokuDay1 = ((tokuDay1 < 10) ? "0" : "") + tokuDay1;
tokuDate1 = tokuMon1 + tokuDay1;
tokuDays = new Array(tokuDate0,tokuDate1,"0518"); //特別日設定
|
|
|