视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
HTML组件(HTMLCOMPONENTS)之四
2020-11-27 18:53:39 责编:小采
文档


===编写日历一===

  当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); 
}

下载本文
显示全文
专题