打印本文 打印本文 关闭窗口 关闭窗口
HTML组件(HTML COMPONENTS)之四
作者:武汉SEO闵涛  文章来源:敏韬网  点击数766  更新时间:2009/4/23 11:15:58  文章录入:mintao  责任编辑:mintao

 ===编写日历一===

  当calendar.html调用 MYCALCALENDAR,当月的日历将会显示在页面中,函数setCal()是主要程序段,它初始化一些变量并调用drawCal()函数。我们也使用了三个别的函数:getMonthName()、 getDays() 和 leapYear()。让我们从最后一个函数开始:

  getDays()函数接收哪月值和哪年值,并且建立一个有12个元素的数组,用来存放每月的天数,哪一年用来决定是不是闰年,在闰年中二月是29天,而不是闰年是28天。该函数返回指定月份的天数。

以下是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);

 
 
作者:feiy    

 

打印本文 打印本文 关闭窗口 关闭窗口