ホームページにカレンダーを表示するJavaScriptです。使用法は簡単ですので、JavaScriptを知らなくても、このページのスクリプトをHTMLの中にコピーするだけで利用できます。
このスクリプトを使用すれば、左の例のようにホームページが開かれるたびに、自動的にその月のカレンダーを表示することなどができます。
また、年間のカレンダーなども応用として作成できます。
上の例のように表示するには、下記のようなHTMLを作成します。
<HTML>
<HEAD>
<TITLE>calendar</TITLE>
<!--- カレンダー JavaScript by 甲斐駒電脳工房 --->
<SCRIPT LANGUAGE="JavaScript">
function isHoliday(mm, dd){
if ( (mm == 1 && (dd == 1 || dd == 10))
|| (mm == 2 && (dd == 11))
|| (mm == 3 && (dd == 21))
|| (mm == 4 && (dd == 29))
|| (mm == 5 && (dd == 3 || dd == 4 || dd == 5))
|| (mm == 7 && (dd == 18))
|| (mm == 9 && (dd == 19 || dd == 23))
|| (mm == 10 && (dd == 10))
|| (mm == 11 && (dd == 3 || dd == 23))
|| (mm == 12 && (dd == 23))){
return 1;
}else{
return 0;
}
}
function calendar(mm, borderLine, alignment, hspc, vspc){
var yy;
var i, j;
var today = new Date();
if (mm == 0){
mm = today.getMonth()+1;
}
yy = today.getYear();
if (yy < 1900){
yy += 1900; // Netscape の2000年問題を回避するため
}
var myDate = new Date(yy, mm-1, 1);
myDate.setTime(myDate.getTime() - myDate.getDay() * 24*60*60*1000);
document.write('<TABLE BORDER=' + borderLine);
if (alignment == 'right' || alignment == 'left'){
document.write(' ALIGN="' + alignment + '"');
document.write(' HSPACE=' + hspc + ' VSPACE=' + vspc);
}
document.write('><TR><TH COLSPAN=7 ALIGN="center">' + mm + '月</TH></TR>');
for (i = 0; i < 6; i++){
if (i < 5 || myDate.getMonth() == mm-1){
document.write('<TR ALIGN="center">');
for (j = 0; j < 7; j++){
if (myDate.getMonth() == today.getMonth()
&& myDate.getDate() == today.getDate()){
document.write('<TD BGCOLOR=#FFFF00>');
}else{
document.write('<TD>');
}
if (myDate.getDay() == 0
|| isHoliday(myDate.getMonth()+1, myDate.getDate()) == 1){
document.write('<FONT COLOR=#FF0000>');
}else if (myDate.getDay() == 6){
document.write('<FONT COLOR=#0000FF>');
}
if (myDate.getMonth() == mm-1){
document.write(myDate.getDate());
}
if (myDate.getDay() == 0 || myDate.getDay() == 6){
document.write('</FONT>');
}
document.write('</TD>');
myDate.setTime(myDate.getTime() + 24*60*60*1000);
}
document.write('</TR>');
}
}
document.write('</TABLE>');
}
</SCRIPT>
</HEAD>
<BODY>
<!--- カレンダー JavaScript の呼び出し --->
<SCRIPT LANGUAGE="JavaScript">
calendar(0, 1, 'left', 10, 10);
</SCRIPT>
</BODY>
</HTML>
↑↑ ここまでフリー素材! ご自由にコピーしてご利用下さい。↑↑
使用法
上の例の、
<!--- カレンダー JavaScript by 甲斐駒電脳工房 --->から
</SCRIPT>まで(紫色の部分)を、カレンダーを表示したいページのHTMLの最初の方(通常、上の例のように、<HEAD>と</HEAD>の間)にコピーします。
これらの関数そのものは、ホームページには表示されません。カレンダー関数を任意の場所から呼び出すことで、呼び出した個所にカレンダーが表示されます。
このスクリプトでは、休日(振替休日を含む)かどうか判定する休日判定関数(isHoliday())を使用しています。休日は年によって異なるため、年が変わるたびに変更する必要があります。上記の例は2005年版ですので、年が変わった場合は、上記の例を参考に編集して下さい。
上の例の、 <!--- カレンダー JavaScript の呼び出し --->から </SCRIPT>まで(青色の部分)のように、カレンダーを表示したい個所に挿入します。呼び出し方は以下の通りです。
calendar(月, BORDER, ALIGN, HSPACE, VSPACE);
月:表示する月。0を指定すると現在の月を表示する。
BORDER:罫線の指定。0=罫線なし。1以上=罫線あり(ブラウザによっては、数値により外枠線の太さが変わる)。
ALIGN:テキストの回り込み指定。''=テキストとは別の行に表示。'left'=テキストの左に表示。'right'=テキストの右に表示。
HSPACE:左右の余白(ピクセル数)。
VSPACE:上下の余白(ピクセル数)。
(注)
BORDER, ALIGN, HSPACE, VSPACE は、いずれもHTMLの<TABLE>タグの属性としてそのまま使用されるものです。(ブラウザによって結果に違いがあるようです。)
|
(フリー素材部分を除き)無断転載は固くお断り致します。ご利用上の注意についてはこちらをご覧下さい。