%26lt;!-- 把如下代码加入%26lt;head%26gt;区域中 --%26gt; %26lt;style type="text/css"%26gt; %26lt;!-- span.label {color:black;width:30;height:16;text-align:center;margin-top:0;background:#ffF;font:bold 13px Arial} span.c1 {cursor:hand;color:black;width:30;height:16;text-align:center;margin-top:0;background:#ffF;font:bold 13px Arial} span.c2 {cursor:hand;color:red;width:30;height:16;text-align:center;margin-top:0;background:#ffF;font:bold 13px Arial} span.c3 {cursor:hand;color:#b0b0b0;width:30;height:16;text-align:center;margin-top:0;background:#ffF;font:bold 12px Arial} --%26gt; %26lt;/style%26gt; %26lt;script type="text/javascript"%26gt; //more javascript from http://www.knowsky.com %26lt;!-- Begin function maxDays(mm, yyyy){ var mDay; if((mm == 3) || (mm == 5) || (mm == 8) || (mm == 10)){ mDay = 30; } else{ mDay = 31 if(mm == 1){ if (yyyy/4 - parseInt(yyyy/4) != 0){ mDay = 28 } else{ mDay = 29 } } } return mDay; } function changeBg(id){ if (eval(id).style.backgroundColor != "yellow"){ eval(id).style.backgroundColor = "yellow" } else{ eval(id).style.backgroundColor = "#ffffff" } } function writeCalendar(){ var now = new Date var dd = now.getDate() var mm = now.getMonth() var dow = now.getDay() var yyyy = now.getFullYear() var arrM = new Array("January","February","March","April","May","June","July","August","September","October","November","December") var arrY = new Array() for (ii=0;ii%26lt;=4;ii++){ arrY[ii] = yyyy - 2 + ii } var arrD = new Array("Sun","Mon","Tue","Wed","Thu","Fri","Sat") var text = "" text = "%26lt;form name=calForm%26gt;" text += "%26lt;table border=1%26gt;" text += "%26lt;tr%26gt;%26lt;td%26gt;" text += "%26lt;table width=100%%26gt;%26lt;tr%26gt;" text += "%26lt;td align=left%26gt;" text += "%26lt;select name=selMonth onChange='changeCal()'%26gt;" for (ii=0;ii%26lt;=11;ii++){ if (ii==mm){ text += "%26lt;option value= " + ii + " Selected%26gt;" + arrM[ii] + "%26lt;/option%26gt;" } else{ text += "%26lt;option value= " + ii + "%26gt;" + arrM[ii] + "%26lt;/option%26gt;" } } text += "%26lt;/select%26gt;" text += "%26lt;/td%26gt;" text += "%26lt;td align=right%26gt;" text += "%26lt;select name=selYear onChange='changeCal()'%26gt;" for (ii=0;ii%26lt;=4;ii++){ if (ii==2){ text += "%26lt;option value= " + arrY[ii] + " Selected%26gt;" + arrY[ii] + "%26lt;/option%26gt;" } else{ text += "%26lt;option value= " + arrY[ii] + "%26gt;" + arrY[ii] + "%26lt;/option%26gt;" } } text += "%26lt;/select%26gt;" text += "%26lt;/td%26gt;" text += "%26lt;/tr%26gt;%26lt;/table%26gt;" text += "%26lt;/td%26gt;%26lt;/tr%26gt;" text += "%26lt;tr%26gt;%26lt;td%26gt;" text += "%26lt;table border=1%26gt;" text += "%26lt;tr%26gt;" for (ii=0;ii%26lt;=6;ii++){ text += "%26lt;td align=center%26gt;%26lt;span class=label%26gt;" + arrD[ii] + "%26lt;/span%26gt;%26lt;/td%26gt;" } text += "%26lt;/tr%26gt;" aa = 0 for (kk=0;kk%26lt;=5;kk++){ text += "%26lt;tr%26gt;" for (ii=0;ii%26lt;=6;ii++){ text += "%26lt;td align=center%26gt;%26lt;span id=sp" + aa + " onClick='changeBg(this.id)'%26gt;1%26lt;/span%26gt;%26lt;/td%26gt;" aa += 1 } text += "%26lt;/tr%26gt;" } text += "%26lt;/table%26gt;" text += "%26lt;/td%26gt;%26lt;/tr%26gt;" text += "%26lt;/table%26gt;" text += "%26lt;/form%26gt;" document.write(text) changeCal() } function changeCal(){ var now = new Date var dd = now.getDate() var mm = now.getMonth() var dow = now.getDay() var yyyy = now.getFullYear() var currM = parseInt(document.calForm.selMonth.value) var prevM if (currM!=0){ prevM = currM - 1 } else{ prevM = 11 } var currY = parseInt(document.calForm.selYear.value) var mmyyyy = new Date() mmyyyy.setFullYear(currY) mmyyyy.setMonth(currM) mmyyyy.setDate(1) var day1 = mmyyyy.getDay() if (day1 == 0){ day1 = 7 } var arrN = new Array(41) var aa for (ii=0;ii%26lt;day1;ii++){ arrN[ii] = maxDays((prevM),currY) - day1 + ii + 1 } aa = 1 for (ii=day1;ii%26lt;=day1+maxDays(currM,currY)-1;ii++){ arrN[ii] = aa aa += 1 } aa = 1 for (ii=day1+maxDays(currM,currY);ii%26lt;=41;ii++){ arrN[ii] = aa aa += 1 } for (ii=0;ii%26lt;=41;ii++){ eval("sp"+ii).style.backgroundColor = "#FFFFFF" } var dCount = 0 for (ii=0;ii%26lt;=41;ii++){ if (((ii%26lt;7)%26amp;%26amp;(arrN[ii]%26gt;20))||((ii%26gt;27)%26amp;%26amp;(arrN[ii]%26lt;20))){ eval("sp"+ii).innerHTML = arrN[ii] eval("sp"+ii).className = "c3" } else{ eval("sp"+ii).innerHTML = arrN[ii] if ((dCount==0)||(dCount==6)){ eval("sp"+ii).className = "c2" } else{ eval("sp"+ii).className = "c1" } if ((arrN[ii]==dd)%26amp;%26amp;(mm==currM)%26amp;%26amp;(yyyy==currY)){ eval("sp"+ii).style.backgroundColor="#90EE90" } } dCount += 1 if (dCount%26gt;6){ dCount=0 } } } // End --%26gt; %26lt;/script%26gt; %26lt;!-- 把如下代码加入%26lt;body%26gt;区域中 --%26gt; %26lt;script type="text/javascript"%26gt;writeCalendar()%26lt;/script%26gt;