- <html>
- <head>
- <title>设置日期 ...</title>
- <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>
- </head>
- <body scroll=no>
- <script language="JScript">
- /*********************************************************
- 迷你日历1.0版本
- 如果下列代码发现bug请联系 [email][email protected][/email]
- 函数 TableFunction 提供以下方法和属性:
- ƒ.GetDateStr()
- 返回指定年月的日期的数组,包括空字符.
- 参数:
- y是指年
- m是指月
- 调用方式:TableFunction().GetDateStr(Year,Month)
- „.GetTableStr()
- 返回指定年月的已经格式化了的表格
- 参数:
- y是指年
- m是指月
- 调用方式:TableFunction().GetTableStr(Year,Month)
- ….WriteSelect()
- 返回年月的选择框
- 参数:
- obj是指需要加入选择框的容器
- values是指需要加亮的项目
- action是指参数,带入参数y表示是年选择框,带入参数m表示月选择框
- getobj是指在哪个控件上触发的事件,其中true为非当前选择框触发
- 而false则为当前选择框触发
- 调用方式:TableFunction().WriteSelect(obj,values,action,getobj)
- †.RewriteTableStr()
- 复位重写表格中的日期
- 参数:
- y是指年
- m是指月
- 调用方式:TableFunction().RewriteTableStr(Year,Month)
- ‡.JumpToRun()
- 左右控制表格中的月变化
- 参数:
- action表示日历是前进还是后退
- 调用方式:TableFunction().JumpToRun(action)
- ˆ.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 oncontextmenu='return false' onselectstart='return false' style='width:160;cursor:default;border:1 solid #9c9c9c;border-right:0;border-bottom:0;filter:progid:dximagetransform.microsoft.dropshadow(color=#e3e3e3,offx=3,offy=3,positive=true)' 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' onclick='TableFunction().JumpToRun("b")' onmouseover='this.style.color="#ff9900"' onmouseout='this.style.color=""'>3</td>\n"+
- "<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"+
- "<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"+
- "<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"+
- "</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=defaultDate.getDate()==this.GetDateStr(y,m)[i*7+j]?"TdOver":"TdOut";
- 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";
- }
- this.DStr+="</tr>\n";
- }
- this.DStr+="</tabe>";
- 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' onchange='TableFunction().WriteSelect(parentElement,this.value,"y",true)' onblur='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' onchange='TableFunction().WriteSelect(parentElement,this.value,"m",true)' onblur='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!=" "){
- var d=new Date( parseInt(YearTD.innerText.split(' ')[0],10),parseInt(MonthTD.innerText.split(' ')[0],10)-1,parseInt(event.srcElement.innerText,10));
- window.returnValue=d.getTime();
- window.close();//点击日期会关闭窗口
- }
- }
- return this;
- }
- var defaultDate=new Date();
- if(typeof(dialogArguments)!="undefined")defaultDate=dialogArguments;
- document.write(TableFunction().GetTableStr(defaultDate.getYear(),defaultDate.getMonth()+1));
- </script>
- </body>
- </html>
复制代码 |