代碼如下:
<style type="text/css"><br />.body,td{<br />font-family:"Arial";<br />font-size:8pt;<br />color:#000000;<br />}<br />.TrOut{<br />background:#dddddd;<br />height:26;<br />border:1 solid #999999;<br />border-top-color:#f4f4f4;<br />border-left-color:#f4f4f4;<br />}<br />.TdOver{<br />background:#eeeeee;<br />height:20;<br />border:1 solid #ffffff;<br />border-top-color:#9c9c9c;<br />border-left-color:#9c9c9c;<br />}<br />.TdOut{<br />background:#eeeeee;<br />height:20;<br />border:1 solid #9c9c9c;<br />border-top-color:#ffffff;<br />border-left-color:#ffffff;<br />}<br /></style><br /><script language="JScript"><br />/*********************************************************<br />迷你日曆1.0版本</p><p>函數 TableFunction 提供以下方法和屬性:</p><p>1.GetDateStr()<br />返回指定年月的日期的數組,包括Null 字元.<br />參數:<br />y是指年<br />m是指月<br />調用方式:TableFunction().GetDateStr(Year,Month)</p><p>2.GetTableStr()<br />返回指定年月的已經格式化了的表格<br />參數:<br />y是指年<br />m是指月<br />調用方式:TableFunction().GetTableStr(Year,Month)</p><p>3.WriteSelect()<br />返回年月的選擇框<br />參數:<br />obj是指需要加入選擇框的容器<br />values是指需要加亮的項目<br />action是指參數,帶入參數y表示是年選擇框,帶入參數m表示月選擇框<br />getobj是指在哪個控制項上觸發的事件,其中true為非當前選擇框觸發<br />而false則為當前選擇框觸發<br />調用方式:TableFunction().WriteSelect(obj,values,action,getobj)</p><p>4.RewriteTableStr()<br />複位重寫表格中的日期<br />參數:<br />y是指年<br />m是指月<br />調用方式:TableFunction().RewriteTableStr(Year,Month)</p><p>5.JumpToRun()<br />左右控製表格中的月變化<br />參數:<br />action表示日曆是前進還是後退<br />調用方式:TableFunction().JumpToRun(action)</p><p>6.AlertDay()<br />提示當前點擊的位置的日期<br />參數:<br />無<br />調用方式:TableFunction().AlertDay()<br />*********************************************************/<br />function TableFunction(){<br />this.GetDateStr=function(y,m){<br />this.DayArray=[];<br />for(var i=0;i<42;i++)this.DayArray[i]=" ";<br />for(var i=0;i<new Date(y,m,0).getDate();i++)this.DayArray[i+new Date(y,m-1,1).getDay()]=i+1;<br />return this.DayArray;<br />}<br />this.GetTableStr=function(y,m){<br />this.DateArray=["日","一","二","三","四","五","六"];<br />this.DStr="<table oncontextmenu='return false' onselectstart='return false' style='width:160;cursor:default; border='0' cellpadding='0' cellspacing='0'>\n"+<br /> "<tr><td colspan='7' class='TrOut'>"+<br /> "<table width='100%' height='100%'border='0' cellpadding='0' cellspacing='0'><tr align='center'>\n"+<br /> "<td width='20' style='font-family:\"webdings\";font-size:9pt' onclick='TableFunction().JumpToRun(\"b\")' onmouseover='this.style.color=\"#ff9900\"' onmouseout='this.style.color=\"\"'>3</td>\n"+<br /> "<td id='YearTD' width='70' onmouseover='this.style.background=\"#cccccc\"' onmouseout='this.style.background=\"\"' onclick='TableFunction().WriteSelect(this,this.innerText.split(\" \")[0],\"y\",false)'>"+y+" 年</td>\n"+<br /> "<td id='MonthTD' width='47' onmouseover='this.style.background=\"#cccccc\"' onmouseout='this.style.background=\"\"' onclick='TableFunction().WriteSelect(this,this.innerText.split(\" \")[0],\"m\",false)'>"+m+" 月</td>\n"+<br /> "<td width='20' style='font-family:\"webdings\";font-size:9pt' onclick='TableFunction().JumpToRun(\"n\")' onmouseover='this.style.color=\"#ff9900\"' onmouseout='this.style.color=\"\"'>4</td></tr></table>\n"+<br /> "</td></tr>\n"+<br /> "<tr align='center'>\n";<br />for(var i=0;i<7;i++)<br />this.DStr+="<td class='TrOut'>"+DateArray[i]+"</td>\n";<br />this.DStr+="</tr>\n";<br />for(var i=0;i<6;i++){<br />this.DStr+="<tr align='center'>\n";<br />for(var j=0;j<7;j++){<br />var CS=new Date().getDate()==this.GetDateStr(y,m)[i*7+j]?"TdOver":"TdOut";<br />this.DStr+="<td id='TD' class='"+CS+"' cs='"+CS+"' onmouseover='this.className=\"TdOver\"' onmouseout='if(this.cs!=\"TdOver\")this.className=\"TdOut\"' onclick='TableFunction().AlertDay()'>"+this.GetDateStr(y,m)[i*7+j]+"</td>\n";<br />}<br />this.DStr+="</tr>\n";<br />}<br />this.DStr+="</table>";<br />return this.DStr;<br />}<br />this.WriteSelect=function(obj,values,action,getobj){<br />if(values=="")return;<br />if(getobj){<br />obj.innerHTML=values+(action=="y"?" 年":" 月");<br />this.RewriteTableStr(YearTD.innerText.split(" ")[0],MonthTD.innerText.split(" ")[0]);<br />return false;<br />}<br />var StrArray=[];<br />if(action=="y"){<br />for(var i=0;i<15;i++){<br />var year=values-7+i;<br />StrArray[i]="<option value='"+year+"' "+(values==year?"selected":"")+"> "+year+"年</option>\n";<br />}<br />obj.innerHTML="<select id='select1' style='width:67' onchange='TableFunction().WriteSelect(parentElement,this.value,\"y\",true)' onblur='YearTD.innerText=this.value+\" 年\"'>\n"+StrArray.join("")+"</select>";<br />select1.focus();<br />}<br />if(action=="m"){<br />for(var i=1;i<13;i++)<br />StrArray[i]="<option value='"+i+"' "+(i==values?"selected":"")+"> "+i+"月</option>\n";<br />obj.innerHTML="<select id='select2' style='width:47' onchange='TableFunction().WriteSelect(parentElement,this.value,\"m\",true)' onblur='MonthTD.innerText=this.value+\" 月\"'>\n"+StrArray.join("")+"</select>";<br />select2.focus();<br />}<br />}<br />this.RewriteTableStr=function(y,m){<br />var TArray=this.GetDateStr(y,m);<br />var len=TArray.length;<br />for(var i=0;i<len;i++){<br />TD[i].innerHTML=TArray[i];<br />TD[i].className="TdOut";<br />TD[i].cs="TdOut";<br />if(new Date().getYear()==y&&new Date().getMonth()+1==m&&new Date().getDate()==TArray[i]){<br />TD[i].className="TdOver";<br />TD[i].cs="TdOver";<br />}<br />}<br />}<br />this.JumpToRun=function(action){<br />var YearNO=YearTD.innerText.split(' ')[0];<br />var MonthNO=MonthTD.innerText.split(' ')[0];<br />if(action=="b"){<br />if(MonthNO=="1"){<br />MonthNO=13;<br />YearNO=YearNO-1;<br />}<br />MonthTD.innerText=MonthNO-1+" 月";<br />YearTD.innerText=YearNO+" 年";<br />this.RewriteTableStr(YearNO,MonthNO-1);<br />}<br />if(action=="n"){<br />if(MonthNO=="12"){<br />MonthNO=0;<br />YearNO=YearNO-(-1);<br />}<br />YearTD.innerText=YearNO+" 年";<br />MonthTD.innerText=MonthNO-(-1)+" 月";<br />this.RewriteTableStr(YearNO,MonthNO-(-1));<br />}<br />}<br />this.AlertDay=function(){<br />if(event.srcElement.innerText!=" ")<br />alert(YearTD.innerText.split(' ')[0]+"年"+MonthTD.innerText.split(' ')[0]+"月"+event.srcElement.innerText+"日");<br />}<br />return this;<br />}<br />document.write(TableFunction().GetTableStr(new Date().getYear(),new Date().getMonth()+1));<br /></script>
[Ctrl+A 全選 提示:你可先修改部分代碼,再點運行代碼]