漂亮的CSS变色日历

2016-02-19 21:22 6 1 收藏

想不想get新技能酷炫一下,今天图老师小编就跟大家分享个简单的漂亮的CSS变色日历教程,一起来看看吧!超容易上手~

【 tulaoshi.com - Web开发 】

style
.cal_0 table{
    border:none;
    font-family:tahoma;
    font-size:9px;
    text-align:center;
    }
.cal_0 th{
    height:17;
    background-image:e­xpression("url("+MyCal.color+"_h.gif)");
    border-bottom:e­xpression("1 solid "+MyCal.ca);
    }
.cal_0{
    background-image:url(shadow.gif);
    width:168;
    height:131;
    cursor:default;
    padding:3 4 5 3;
    position:absolute;
    }
.cal_1{
    border:e­xpression("1 solid "+MyCal.ca);
    width:100%;
    height:100%;
    }
.d1{
    position:absolute;
    color:e­xpression(MyCal.cb);
    font-size:96px;
    font-family:Arial black;
    font-weight:bolder;
    left:0;
    top:-9;
    width:160;
    text-align:center;
    overflow:hidden;
    z-index:-1;
    }
.d5{
    position:absolute;
    left:45;
    top:108;
    width:60;
    height:13;
    }
.d6{
    position:absolute;
    left:108;
    top:108;
    width:48;
    height:13;
    }
.cc{
    border-color:e­xpression(MyCal.ca);
    border-width:1;
    border-style:solid;
    line-height:9px;
    }
.sel{
    position:absolute;
    border-top:none;
    top:121;
    height:135;
    overflow:hidden;
    background-color:white;
    overflow-y:auto;
    display:none;
    }
.selitem{
    font-family:tahoma;
    font-size:9px;
    line-height:11px;
    text-align:left;
    }
.p1{
    padding-left:19;
    }
.p2{
    padding-left:16;
    }
.scroll{
    scrollbar-3dlight-color:e­xpression(MyCal.ca);
    scrollbar-arrow-color:white;
    scrollbar-face-color:white;
    scrollbar-shadow-color:white;
    scrollbar-track-color:white;
    }
/style

script
    MyCal.color="green";
    MyCal.ca="#99cc00";
    MyCal.cb="#e5f5e5";
function MyCal(numYear,numMonth,numDate){
    if(typeof(oMain)!='undefined'){
        alert("one instance of MyCal per page only")
        return null;
        }
    var arg=MyCal.arguments;
    if(arg.length==3){
        this.year=arg[0];
        this.month=arg[1];
        this.date=arg[2];
        }
    else{
        var t=new Date();
        this.year=t.getYear();
        this.month=t.getMonth();
        this.date=t.getDate();
        }
    this.green=["#99cc00","#e5f5e5"];
    this.blue=["#00ccff","#e5eff5"];
    this.yellow=["#ffcc00","#ffefef"];
    this.gray=["#999999","#f0f0f0"];
    this.DayName="Sun,Mon,Tue,Wed,Thu,Fri,Sat".split(",");
    this.MonthDay=[[31,28,31,30,31,30,31,31,30,31,30,31],[31,29,31,30,31,30,31,31,30,31,30,31]];
    this.MonthName="Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec".split(",");
    for(var i in this.MonthName)
        this.MonthName[this.MonthName[i]]=i;
    this.setColor=function(str){
        if(typeof(this[str])=="undefined"){
            alert("no such color:"+str);
            return;
            }
        if(typeof(oYear)!="undefined"){
            var t=document.all("imgArr");
            for(var i=0;it.length;i++)
                t[i].src=t[i].src.replace(MyCal.color,str);
            }

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)        MyCal.color=str;
        MyCal.ca=this[str][0];
        MyCal.cb=this[str][1];
        }
    this.chgYear=function(d){
        var m=oYear.innerText;
        this.year=parseInt(m)+d;
        this.refresh();
        }
    this.chgMonth=function(d){
        var i=parseInt(this.MonthName[oMonth.innerText])+d;
        if(i==12)
            i=0;
        else if(i==-1)
            i=11;
        this.month=i;
        this.refresh();
        }
    this.chgDate=function(ob){
        if(ob==event.srcElement)
            return;
        var x=event.srcElement.innerText;
        if(x==" ")
            return;
        oDate.cells[this.date+this.day+7].style.fontWeight="normal";
        this.date=parseInt(x);
        event.srcElement.style.fontWeight="bold";
        }
    this.setDate=function(ob){
        var y0=this.year,m0=this.month;
        if(ob==event.srcElement)
            return;
        var t=ob.id.replace("sel","").toLowerCase();
        var x=event.srcElement.innerText;
        this[t]=parseInt(t=="year"?x:this.MonthName[x]);
        ob.style.display="none";
        if(y0!=this.year||m0!=this.month)
            this.refresh();
        }
    this.refresh=function(){
        oMonth.innerText=this.MonthName[this.month];       
        oYear.innerText=this.year;
        oBg.innerText=this.month+1;
        oMain.filters[0].apply();
        oMain.innerHTML=this.drawTable();
        oDate.cells[this.date+this.day+7].style.fontWeight="bold";
        oMain.filters[0].play();
        }
    this.outPut=function(){
        var str='div class="cal_0" id=oCal onselectstart="return false;"'+
        '    div class=d1 id=oBg'+(this.month+1)+'/div'+
        '    table class="cal_1" cellspacing=0 cellpadding=0'+
        '        tr';
                for(var i=0;i7;i++)
                    str+='th'+this.DayName[i]+'/th';
                str+=
        '        /tr'+
        '        trtd colspan=7 align=left id=oMain style="filter:blendtrans(duration=0.5)"'+
                        this.drawTable()+
        '        /tdtr'+
        '        td colspan=7 /td'+
        '        /tr'+
        '    /table'+
        '    div class="d5 cc"'+
        '        table cellpadding=0 cellspacing=0tr'+
        '            tdimg id=imgArr src="'+MyCal.color+'_al0.gif" onclick="CalOb.chgYear(-1)"/td'+
        '            td width=44 class=cc style="border-width:0 1 0 1;cursor:hand" valign=bottom id=oYear'+this.year+'/td'+
        '            tdimg id=imgArr src="'+MyCal.color+'_ar0.gif" onclick="CalOb.chgYear(1)""/td'+
        '        /tr/table'+
        '    /div'+
        '    div class="d6 cc"'+
        '        table cellpadding=0 cellspacing=0tr'+
        '            tdimg id=imgArr src="'+MyCal.color+'_al0.gif" onclick="CalOb.chgMonth(-1)"/td'+
        '            td width=44 class=cc style="border-width:0 1 0 1;cursor:hand" valign=bottom id=oMonth'+this.MonthName[this.month]+'/td'+
        '            tdimg id=imgArr src="'+MyCal.color+'_ar0.gif" onclick="CalOb.chgMonth(1)"/td'+
        '        /tr/table'+
        '    /div'+
        '    div class="sel cc scroll" id=selYear style="left:45;width:60" onclick="CalOb.setDate(this)"';
                for(var i=2001;i2050;i++)
                    str+='div class="selitem p1"'+i+'/div';
                str+=
        '    /div'+
        '    div class="sel cc" id=selMonth style="left:108;width:48" onclick="CalOb.setDate(this)"';
                for(var i=0;i12;i++)
                    str+='div class="selitem p2"'+this.MonthName[i]+'/div';
                str+=
        '    /div'+
        '/div';        document.write(str);
        CalOb=this;
        oDate.cells[this.date+this.day+7].style.fontWeight="bold";
        oDate.cells[this.date+this.day+7].style.fontSize="12px";
        attchEvent();
        }
    this.drawTable=function(){
        var day=new Date(this.year,this.month,1);
        day=day.getDay();
        this.day=day-1;
        var m=this.year%4==0&&this.year%100||this.year%400==0?1:0;
        m=this.MonthDay[m][this.month];   
        var r="table style='table-layout:fixed' cellpadding=0 cellpacing=0 id=oDate onclick='CalOb.chgDate(this)'";
        r+="tr height=3td width=20/tdtd width=23/tdtd width=23/td"+
            "td width=23/tdtd width=20/tdtd/tdtd/td/tr";
        for(var i=0,k=0;i6;i++){
            r+="tr";
            for(var j=0;j7;j++){
                var k=i*7+j+1;
                var ts="td /td"
                if(kday&&k=m+day){
                    ts="td";
                    if(j==0||j==6)
                        ts+=" style='color:red'";
                    ts+=""+(k-day)+"/td";
                    }
                r+=ts;
                }
            r+="/tr";
            }
        r+="/table";
        return r;
        }
    function attchEvent(){
        oYear.onmouseover=function(){
            selYear.style.display="block";
            }
        oYear.onmouseout=function(){
            if(event.offsetY10)
                selYear.style.display="none";
            }
        oMonth.onmouseover=function(){
            selMonth.style.display="block";
            }
        oMonth.onmouseout=function(){
            if(event.offsetY10)
                selMonth.style.display="none";
            }
        selYear.onmouseout=selOut;
        selYear.onmouseover=selOver;
        selMonth.onmouseout=selOut;
        selMonth.onmouseover=selOver;
        var t=document.all.imgArr;
        for(var i=0;it.length;i++){
            t[i].onmousedown=imgDown;
            t[i].onmouseup=imgUp;
            }
        }
    function imgDown(){
        this.src=this.src.replace(/.{5}$/,"1.gif");
        }
    function imgUp(){
        this.src=this.src.replace(/.{5}$/,"0.gif");
        }
    function selOver(){
        var ob=event.srcElement;
        if(ob==this)
            return;
        ob.style.backgroundColor=MyCal.cb;
        }
    function selOut(){
        var ob=event.srcElement;
        if(ob==this)
            this.style.display="none";
        else
            ob.style.backgroundColor="white";
        }
    }
/script

script
var tt=new MyCal();
tt.setColor("blue");//
tt.outPut();

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

var colortable=["green","blue","yellow","gray"];
var cc=0;
document.body.onclick=function(){
    if(event.srcElement.tagName!=="BODY")
        return;
    tt.setColor(colortable[cc++]);
    if(cc==colortable.length)
        cc=0;
    }
document.body.title="单击页面空白以更换颜色 | http://soft.knowsky.com/"
/script

来源:https://www.tulaoshi.com/n/20160219/1626004.html

延伸阅读
标签: Web开发
CSS制作的三款漂亮的网页表单,点击这里学习更多CSS教程和CSS视频教程。 漂亮表单,三个颜色    演示CSS文件下载地址:http://www.webjx.com/files/soft/piaoliangbiaodan.rar
标签: Web开发
初中级练习,高手朋友们可以飘过。要求达到如下图所示的效果,各位不妨试一试~   代码如下: !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" html xmlns="http://www.w3.org/1999/xhtml" lang="zh-CN" hea...
标签: Web开发
正确使用a标签 超链接是blog中用的最多的html标签,它用来链接到其他的文章或者站点链接,建议大家用a标签时将下列属性都添加上: href:设置链接的url地址或锚点 target:设置鼠标点击链接后的目标窗口或框架页面,一般常用的是target="_blank",表示新开一个窗口打开链接,向在当前页面打开链接就不用加这个属性了 ...
标签: Web开发
面是代码,注释应该还算比较详细,比较适合初学者,可以把下面两个文件的代码直接复制到你的项目中直接执行。最下面有文件的下载地址,也可以直接下载后运行,代码在IE7和Firefox2下测试通过,有任何问题,请在下面留言,我将尽量及时回复。 BackgroundColor.aspx 主要包含一个GridView,是我们折腾的重点对象,还有一堆javascr...

经验教程

361

收藏

20
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部