ホームページ >ウェブフロントエンド >CSSチュートリアル >HTML コンポーネント (HTML COMPONENTS) 4
===カレンダーの書き方1===
calendar.htmlが呼び出されたとき
MYCAL:CALENDAR、現在の月のカレンダーがページに表示されます。関数 setCal() は、いくつかの変数を初期化し、drawCal() 関数を呼び出します。他に 3 つの関数も使用します: getMonthName()、
getDays() と Leap Year()。最後の関数から始めましょう:
getDays() 関数は、どの月の値とどの年の値を受け取り、12 個の要素を含む配列を作成して各月の日数を保存し、どの年がその月の値であるかどうかを決定するために使用されます。閏年、2 月は閏年では 28 日ではなく、29 日になります。この関数は、指定された月の日数を返します。
以下は getDays() です:
function getDays(month, year) { // create array to hold number of days in each month var ar = new Array(12); ar[0] = 31; // January ar[1] = (leapYear(year)) ? 29 : 28; // February ar[2] = 31; // March ar[3] = 30; // APRil ar[4] = 31; // May ar[5] = 30; // June ar[6] = 31; // July ar[7] = 31; // August ar[8] = 30; // September ar[9] = 31; // October ar[10] = 30; // November ar[11] = 31; // December // return number of days in the specified month (parameter) return ar[month]; } 如果指定的年数可以被4整除,那么leapYear()函数将返回“true”,否则返回”false“: function leapYear(year) { if (year % 4 == 0) // basic rule return true; // is leap year /* else */ // else not needed when statement is "return" return false; // is not leap year } getMonthName()函数返回指定月份的名字: function getMonthName(month) { // create array to hold name of each month var ar = new Array(12); ar[0] = "January"; ar[1] = "February"; ar[2] = "March"; ar[3] = "April"; ar[4] = "May"; ar[5] = "June"; ar[6] = "July"; ar[7] = "August"; ar[8] = "September"; ar[9] = "October"; ar[10] = "November"; ar[11] = "December"; // return name of specified month (parameter) return ar[month]; } setCal()函数是主模块,我们在脚本的第一行调用它。该函数为当天(now)、和每月的第一天(firstDayInstance)建立一个Date对象。用这些对象,setCal()函数解析出关于一个月的第一天、当日,和最后一天的所有信息。 function setCal() { // standard time attributes var now = new Date(); var year = now.getFullYear(); var month = now.getMonth(); var monthName = getMonthName(month); var date = now.getDate(); now = null; // create instance of first day of month, and extract the day on which it occurs var firstDayInstance = new Date(year, month, 1); var firstDay = firstDayInstance.getDay(); firstDayInstance = null; // number of days in current month var days = getDays(month, year); // call function to draw calendar drawCal(firstDay + 1, days, date, monthName, year); }
上記は 4 番目の HTML コンポーネント (HTML COMPONENTS) の内容です。その他の関連記事については、PHP 中国語 Web サイト (www.php.cn) に注目してください。