制作漂亮的日历,很简单的。只要把以下的代码插入网页编辑器的“代码”区里即可。
以下是代码片段:
<SCRIPT language=JavaScript> var months = new Array("一", "二", "三","四", "五", "六", "七", "八", "九","十", "十一", "十二"); var daysInMonth = new Array(31, 28, 31, 30, 31, 30, 31, 31,30, 31, 30, 31); var days = new Array("日","一", "二", "三","四", "五", "六"); var classTemp; var today=new getToday(); var year=today.year; var month=today.month; var newCal;
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(); }
function Calendar() { newCal = new Date(year,month,1); today = new getToday(); var day = -1; var startDay = newCal.getDay(); var endDay=getDays(newCal.getMonth(), newCal.getFullYear()); var daily = 0; if ((today.year == newCal.getFullYear()) &&(today.month == newCal.getMonth())) { day = today.day; } var caltable = document.all.caltable.tBodies.calendar; var intDaysInMonth =getDays(newCal.getMonth(), newCal.getFullYear());
for (var intWeek = 0; intWeek < caltable.rows.length;intWeek++) for (var intDay = 0;intDay < caltable.rows[intWeek].cells.length;intDay++) { var cell = caltable.rows[intWeek].cells[intDay]; var montemp=(newCal.getMonth()+1)<10?("0"+(newCal.getMonth()+1)):(newCal.getMonth()+1); if ((intDay == startDay) && (0 == daily)) var daytemp=daily<10?("0"+daily):(daily); var d="<"+newCal.getFullYear()+"-"+montemp+"-"+daytemp+">"; if(day==daily) cell.className="DayNow"; else if(intDay==6) cell.className = "DaySat"; else if (intDay==0) cell.className ="DaySun"; else cell.className="Day"; if ((daily > 0) && (daily <= intDaysInMonth)) { cell.innerText = daily; daily++; } else { cell.className="CalendarTD"; cell.innerText = ""; } } document.all.year.value=year; document.all.month.value=month+1; }
function subMonth() { if ((month-1)<0) { month=11; year=year-1; } else { month=month-1; } Calendar(); }
function addMonth() { if((month+1)>11) { month=0; year=year+1; } else { month=month+1; } Calendar(); }
function setDate() { if (document.all.month.value<1||document.all.month.value>12) { alert("月的有效范围在1-12之间!"); return; } year=Math.ceil(document.all.year.value); month=Math.ceil(document.all.month.value-1); Calendar(); } </SCRIPT>
<SCRIPT> function buttonOver() { var obj = window.event.srcElement; obj.runtimeStyle.cssText = "background-color:#FFFFFF"; // obj.className="Hover"; }
function buttonOut() { var obj = window.event.srcElement; window.setTimeout(function(),300); } </SCRIPT>
<STYLE> Input
.Calendar .CalendarTD
.Title
.Day .DaySat .DaySun .DayNow
.DayTitle .DaySatTitle .DaySunTitle
.DayButton
</STYLE>
<TABLE class=Calendar id=caltable cellSpacing=1 cellPadding=0 border=0> <THEAD> <TR vAlign=center align=middle> <TD class=Title colSpan=7><A class=DayButton title=上一月 href="javaScript:subMonth();">3</A> <INPUT onpaste="this.value=this.value.replace(/[^0-9]/g,'')" onkeydown="if (event.keyCode==13)" onkeyup="this.value=this.value.replace(/[^0-9]/g,'')" maxLength=4 size=4 name=year> 年 <INPUT onpaste="this.value=this.value.replace(/[^0-9]/g,'')" onkeydown="if (event.keyCode==13)" onkeyup="this.value=this.value.replace(/[^0-9]/g,'')" maxLength=2 size=1 name=month> 月 <A class=DayButton title=下一月 href="JavaScript:addMonth();">4</A> </TD></TR> <TR vAlign=center align=middle> <SCRIPT language=JavaScript> document.write("<TD class=DaySunTitle id=diary >" + days[0] + "</TD>"); for (var intLoop = 1; intLoop < days.length-1;intLoop++) document.write("<TD class=DayTitle id=diary>" + days[intLoop] + "</TD>"); document.write("<TD class=DaySatTitle id=diary>" + days[intLoop] + "</TD>"); </SCRIPT> </TR></THEAD> <TBODY id=calendar onclick=getDiary() align=middle cellpadding="0" cellspacing="0" border="1"> <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 class=CalendarTD onMouseover='buttonOver();' onMouseOut='buttonOut();'></TD>"); document.write("</TR>"); } </SCRIPT> </TBODY></TABLE> <SCRIPT language=JavaScript> Calendar(); </SCRIPT> |
效果如下:
|