作业帮 > HTML > 教育资讯

HTML教程:HTML组件HTML COMPONENTS之四

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/12 00:07:36 HTML
HTML教程:HTML组件HTML COMPONENTS之四HTML
【无忧考网-HTML教程:HTML组件HTML COMPONENTS之四】:
当calendar.html调用 MYCAL:CALENDAR,当月的日历将会显示在页面中,函数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); 
} 

HTML