精巧完整的日历程序

代码如下:
<style type="text/css"> .body,td{ font-family:"Arial"; font-size:8pt; color:#000000; } .TrOut{ background:#dddddd; height:26; border:1 solid #999999; border-top-color:#f4f4f4; border-left-color:#f4f4f4; } .TdOver{ background:#eeeeee; height:20; border:1 solid #ffffff; border-top-color:#9c9c9c; border-left-color:#9c9c9c; } .TdOut{ background:#eeeeee; height:20; border:1 solid #9c9c9c; border-top-color:#ffffff; border-left-color:#ffffff; } </style> <script language="JScript"> /********************************************************* 迷你日历1.0版本 函数 TableFunction 提供以下方法和属性: 1.GetDateStr() 返回指定年月的日期的数组,包括空字符. 参数: y是指年 m是指月 调用方式:TableFunction().GetDateStr(Year,Month) 2.GetTableStr() 返回指定年月的已经格式化了的表格 参数: y是指年 m是指月 调用方式:TableFunction().GetTableStr(Year,Month) 3.WriteSelect() 返回年月的选择框 参数: obj是指需要加入选择框的容器 values是指需要加亮的项目 action是指参数,带入参数y表示是年选择框,带入参数m表示月选择框 getobj是指在哪个控件上触发的事件,其中true为非当前选择框触发 而false则为当前选择框触发 调用方式:TableFunction().WriteSelect(obj,values,action,getobj) 4.RewriteTableStr() 复位重写表格中的日期 参数: y是指年 m是指月 调用方式:TableFunction().RewriteTableStr(Year,Month) 5.JumpToRun() 左右控制表格中的月变化 参数: action表示日历是前进还是后退 调用方式:TableFunction().JumpToRun(action) 6.AlertDay() 提示当前点击的位置的日期 参数: 无 调用方式:TableFunction().AlertDay() *********************************************************/ function TableFunction(){ this.GetDateStr=function(y,m){ this.DayArray=[]; for(var i=0;i<42;i++)this.DayArray[i]=" "; for(var i=0;i<new Date(y,m,0).getDate();i++)this.DayArray[i+new Date(y,m-1,1).getDay()]=i+1; return this.DayArray; } this.GetTableStr=function(y,m){ this.DateArray=["日","一","二","三","四","五","六"]; this.DStr="<table οncοntextmenu='return false' onselectstart='return false' style='width:160;cursor:default; border='0' cellpadding='0' cellspacing='0'>\n"+ "<tr><td colspan='7' class='TrOut'>"+ "<table width='100%' height='100%'border='0' cellpadding='0' cellspacing='0'><tr align='center'>\n"+ "<td width='20' style='font-family:\"webdings\";font-size:9pt' οnclick='TableFunction().JumpToRun(\"b\")' οnmοuseοver='this.style.color=\"#ff9900\"' οnmοuseοut='this.style.color=\"\"'>3</td>\n"+ "<td id='YearTD' width='70' οnmοuseοver='this.style.background=\"#cccccc\"' οnmοuseοut='this.style.background=\"\"' οnclick='TableFunction().WriteSelect(this,this.innerText.split(\" \")[0],\"y\",false)'>"+y+" 年</td>\n"+ "<td id='MonthTD' width='47' οnmοuseοver='this.style.background=\"#cccccc\"' οnmοuseοut='this.style.background=\"\"' οnclick='TableFunction().WriteSelect(this,this.innerText.split(\" \")[0],\"m\",false)'>"+m+" 月</td>\n"+ "<td width='20' style='font-family:\"webdings\";font-size:9pt' οnclick='TableFunction().JumpToRun(\"n\")' οnmοuseοver='this.style.color=\"#ff9900\"' οnmοuseοut='this.style.color=\"\"'>4</td></tr></table>\n"+ "</td></tr>\n"+ "<tr align='center'>\n"; for(var i=0;i<7;i++) this.DStr+="<td class='TrOut'>"+DateArray[i]+"</td>\n"; this.DStr+="</tr>\n"; for(var i=0;i<6;i++){ this.DStr+="<tr align='center'>\n"; for(var j=0;j<7;j++){ var CS=new Date().getDate()==this.GetDateStr(y,m)[i*7+j]?"TdOver":"TdOut"; this.DStr+="<td id='TD' class='"+CS+"' cs='"+CS+"' οnmοuseοver='this.className=\"TdOver\"' οnmοuseοut='if(this.cs!=\"TdOver\")this.className=\"TdOut\"' οnclick='TableFunction().AlertDay()'>"+this.GetDateStr(y,m)[i*7+j]+"</td>\n"; } this.DStr+="</tr>\n"; } this.DStr+="</table>"; return this.DStr; } this.WriteSelect=function(obj,values,action,getobj){ if(values=="")return; if(getobj){ obj.innerHTML=values+(action=="y"?" 年":" 月"); this.RewriteTableStr(YearTD.innerText.split(" ")[0],MonthTD.innerText.split(" ")[0]); return false; } var StrArray=[]; if(action=="y"){ for(var i=0;i<15;i++){ var year=values-7+i; StrArray[i]="<option value='"+year+"' "+(values==year?"selected":"")+"> "+year+"年</option>\n"; } obj.innerHTML="<select id='select1' style='width:67' οnchange='TableFunction().WriteSelect(parentElement,this.value,\"y\",true)' οnblur='YearTD.innerText=this.value+\" 年\"'>\n"+StrArray.join("")+"</select>"; select1.focus(); } if(action=="m"){ for(var i=1;i<13;i++) StrArray[i]="<option value='"+i+"' "+(i==values?"selected":"")+"> "+i+"月</option>\n"; obj.innerHTML="<select id='select2' style='width:47' οnchange='TableFunction().WriteSelect(parentElement,this.value,\"m\",true)' οnblur='MonthTD.innerText=this.value+\" 月\"'>\n"+StrArray.join("")+"</select>"; select2.focus(); } } this.RewriteTableStr=function(y,m){ var TArray=this.GetDateStr(y,m); var len=TArray.length; for(var i=0;i<len;i++){ TD[i].innerHTML=TArray[i]; TD[i].className="TdOut"; TD[i].cs="TdOut"; if(new Date().getYear()==y&&new Date().getMonth()+1==m&&new Date().getDate()==TArray[i]){ TD[i].className="TdOver"; TD[i].cs="TdOver"; } } } this.JumpToRun=function(action){ var YearNO=YearTD.innerText.split(' ')[0]; var MonthNO=MonthTD.innerText.split(' ')[0]; if(action=="b"){ if(MonthNO=="1"){ MonthNO=13; YearNO=YearNO-1; } MonthTD.innerText=MonthNO-1+" 月"; YearTD.innerText=YearNO+" 年"; this.RewriteTableStr(YearNO,MonthNO-1); } if(action=="n"){ if(MonthNO=="12"){ MonthNO=0; YearNO=YearNO-(-1); } YearTD.innerText=YearNO+" 年"; MonthTD.innerText=MonthNO-(-1)+" 月"; this.RewriteTableStr(YearNO,MonthNO-(-1)); } } this.AlertDay=function(){ if(event.srcElement.innerText!=" ") alert(YearTD.innerText.split(' ')[0]+"年"+MonthTD.innerText.split(' ')[0]+"月"+event.srcElement.innerText+"日"); } return this; } document.write(TableFunction().GetTableStr(new Date().getYear(),new Date().getMonth()+1)); </script>
[Ctrl+A 全选 提示:你可先修改部分代码,再点运行代码]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值