一个非常精彩的日历程序

作者:未知 来源:未知 添加时间:2006年7月2日 字体:

<HTML>

<HEAD>

<TITLE>博客日历</TITLE>

<STYLE TYPE="text/css">

<!--

 .normal{BACKGROUND: #ffffff}

 .today {font-weight:bold;BACKGROUND: #6699cc}

 .satday{color:green}

 .sunday{color:red}

 .days {font-weight:bold}

-->

</STYLE>

<SCRIPT LANGUAGE="javascript">

//中文月份,如果想显示英文月份,修改下面的注释

/*var months = new Array("January?, "February?, "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");*/

var months = new Array("一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月","十月", "十一月", "十二月");

var daysInMonth = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);

//中文周 如果想显示 英文的,修改下面的注释

/*var days = new Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday");*/

var days = new Array("日","一", "二", "三", "四", "五", "六");

function getDays(month, year) {

 //下面的这段代码是判断当前是否是闰年的

 if (1 == month)

  return ((0 == year % 4) && (0 != (year % 100))) ||(0 == year % 400) ? 29 : 28;

 else

  return daysInMonth[month];

}



function getToday() {

 //得到今天的年,月,日

 this.now = new Date();

 this.year = this.now.getFullYear();

 this.month = this.now.getMonth();

 this.day = this.now.getDate();

}



today = new getToday();



function newCalendar() {



today = new getToday();

var parseYear = parseInt(document.all.year

[document.all.year.selectedIndex].text);

var newCal = new Date(parseYear,

document.all.month.selectedIndex, 1);

var day = -1;

var startDay = newCal.getDay();

var daily = 0;

if ((today.year == newCal.getFullYear()) &&(today.month == newCal.getMonth()))

day = today.day;

var tableCal = document.all.calendar.tBodies.dayList;

var intDaysInMonth =getDays(newCal.getMonth(), newCal.getFullYear());

for (var intWeek = 0; intWeek < tableCal.rows.length;intWeek++)



for (var intDay = 0;intDay < tableCal.rows[intWeek].cells.length;intDay++)

{

var cell = tableCal.rows[intWeek].cells[intDay];

if ((intDay == startDay) && (0 == daily))

daily = 1;

if(day==daily)

 //今天,调用今天的Class

 cell.className = "today";

else if(intDay==6)

 //周六

 cell.className = "sunday";

else if (intDay==0)

 //周日

 cell.className ="satday";

else

 //平常

 cell.className="normal";

 if ((daily > 0) && (daily <= intDaysInMonth)){ 

  cell.innerText = daily;

  daily++;}

 else

  cell.innerText = "";

 }

}



function getDate() {

 var sDate;

 //这段代码处理鼠标点击的情况

 if ("TD" == event.srcElement.tagName)

  if ("" != event.srcElement.innerText){

   sDate = document.all.year.&#118alue + "年" + document.all.month.&#118alue + "月" + event.srcElement.innerText + "日";

   alert(sDate);

  }

}

</SCRIPT>

</HEAD>



<BODY Onload="newCalendar()" OnUnload="window.return&#118alue = document.all.ret.&#118alue;">

<input type="hidden" name="ret">

<TABLE cellpadding="3" cellspacing="1" bgcolor="#CCCCCC" ID="calendar">

<THEAD>

<TR>

<TD COLSPAN=7 ALIGN=CENTER bgcolor="#0066CC">

<SELECT ID="month" ONCHANGE="newCalendar()">

<SCRIPT LANGUAGE="javascript">

 for (var intLoop = 0; intLoop < months.length; intLoop++)

 document.write("<OPTION &#118alue= " + (intLoop + 1) + " " + (today.month == intLoop ? "Selected" : "") + ">" + months[intLoop]);

</SCRIPT>

</SELECT>



<SELECT ID="year" ONCHANGE="newCalendar()">

<SCRIPT LANGUAGE="javascript">

 for (var intLoop = today.year-50; intLoop < (today.year + 4); intLoop++)

 document.write("<OPTION &#118alue= " + intLoop + " " + (today.year == intLoop ? "Selected" : "") + ">" + intLoop);

</SCRIPT>

</SELECT>

</TD>

</TR>

<TR CLASS="days">

<SCRIPT LANGUAGE="javascript">

 document.write("<TD class=satday>" + days[0] + "</TD>");

 for (var intLoop = 1; intLoop < days.length-1; intLoop++) 

 document.write("<TD>" + days[intLoop] + "</TD>");

 document.write("<TD class=sunday>" + days[intLoop] + "</TD>");

</SCRIPT>

</TR>

</THEAD>

<TBODY border=1 cellspacing="0" cellpadding="0" ID="dayList"ALIGN=CENTER &#111nCLICK="getDate()">

<SCRIPT LANGUAGE="javascript">

for (var intWeeks = 0; intWeeks < 6; intWeeks++) {

 document.write("<TR style='cursor:hand'>");

 for (var intDays = 0; intDays < days.length; intDays++)

 document.write("<TD></TD>");

 document.write("</TR>");

}

</SCRIPT>

</TBODY>

</TABLE>

</BODY>

</HTML>

ppdesk