当前位置: 首页 > 图文教程 > 网页制作 > HTML/XHTML教程 > HTML组件(HTML COMPONENTS)之四

HTML/XHTML教程
HTML教程:DOCTYPE 的缩写
掌握常用的用于网页中引用内容的HTML标记
10个未被充分利用或被误解的HTML标签
网站超级链接的打开方式探讨
网页中flash wmode属性你会用吗?
XHTML教程:Transitional和Strict的区别
网页设计之5种简单的XHTML网页表单
制作主流邮箱能正常显示的HTML邮件的技巧
网页布局设计的简单原则
W3C教程(14):W3C RDF和OWL活动
W3C教程(16):其他的W3C活动
W3C教程(13):W3C WSDL 活动
W3C教程(15):W3C SMIL 活动
作用相似html标记:strong与em、q、cite、blockquote
html 基底网址标记
GET POST 区别详解
圆角矩形的html+css实现代码
HTML title 属性换行的办法
html tbody 用法
nofollow让评论和留言中的链接起到真正的作用

HTML/XHTML教程 中的 HTML组件(HTML COMPONENTS)之四


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-04   浏览: 63 ::
收藏到网摘: n/a

 

 ===编写日历一===

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