JS日历,(万年历)功能和界面都挺好的

<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" defer>
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: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' ο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+="</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' ο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!=" ")
        document.all('oText').value=YearTD.innerText.split(' ')[0]+"年"+MonthTD.innerText.split(' ')[0]+"月"+event.srcElement.innerText+"日";
        }
    return this;
    }
document.all('oDiv').innerHTML=TableFunction().GetTableStr(new Date().getYear(),new Date().getMonth()+1);
</Script>
<span style="border:1px solid menu;">
<input type="text" id="oText" onpropertychange="document.all('oDiv').style.display='none';" style="border:0px;width:140px;height:20px;" readonly><input type="button" style="font:12pt webdings;border:0px;width:18px;height:20px;cursor:hand;" value="6" οnclick="document.all('oDiv').style.display='inline';" οnfοcus="blur();"></span>
<div id="oDiv" style="display:none;"></div>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值