html组件的使用方法,html组件(html components)之四_html教程

===编写日历一===

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

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值