我是一只历经沧桑的老狮

侧边栏的小日历

这个日历的效果非常的简洁,本人非常的喜欢,以后会弄的到,先放在这里再说。

效果

< >

使用方法

把下面代码加到 <head></head>之间

<style type="text/css">
*{margin:0;padding:0;}
ul,li{list-style:none;}
body{font-weight:bold;font-family:" 微软雅黑 "," 新宋体 ",serif,arial;}
#calendar{width:280px;overflow:hidden;border:1px solid #dadada;position:absolute;left:50%;top:50%;margin-left:-141px;margin-top:-141px;border-radius:3px;}
.c_header{width:100%;height:60px;background-color:#83d8e7;background-image:linear-gradient(to bottom,#abe5ef,#83d8e7);position:relative;}
.c_header h1{font-size:16px;height:30px;line-height:30px;text-align:center;color:#ffffff;}
.c_header span{width:20px;height:20px;line-height:20px;color:#ffffff;text-align:center;position:absolute;top:5px;border-radius:50%;background-image:linear-gradient(to bottom,#83d8e7,#abe5ef);cursor:pointer;}
.c_header span:hover{background:#83d8e7;}
.c_header span.pre{left:10px;}
.c_header span.next{right:10px;}
.c_header ol{position:absolute;left:0;top:30px;overflow:hidden;}
.c_header ol li{float:left;color:#ffffff;width:40px;height:30px;line-height:30px;text-align:center;}
.c_body{overflow:hidden;}
.c_body li{width:38px;height:38px;line-height:38px;font-size:16px;text-align:center;float:left;border:1px solid #ffffff;color:#333;}
.c_body li.active{border:1px solid #dadada;background-color:#83d8e7;color:#fff;}
.c_body li.grey{color:#999;}
</style>
<script type="text/javascript">
window.onload=function()
{var oCal=document.getElementById("calendar");
    var oTitle=oCal.getElementsByTagName("h1")[0];
    var oUl=oCal.getElementsByTagName("ul")[0];
    var aLi=oUl.getElementsByTagName("li");
    var oPre=oCal.getElementsByTagName("span")[0];
    var oNext=oCal.getElementsByTagName("span")[1];
    var oNow=new Date();
    var nowYear=oNow.getFullYear();
    var nowMonth=oNow.getMonth();
    var nowDate=oNow.getDate();
    var nowDay=oNow.getDay();
    var nowTime=oNow.getTime();
    var tMonth=nowMonth;                    // 作为日历里更改的那个 Month
    function createCalendar(tMonth)
    {
        // 根据传入的月份重新算时间
        var oDate=new Date();
        oDate.setMonth(tMonth);
        oDate.setDate(1);
        var iYear=oDate.getFullYear();
        var iMonth=oDate.getMonth();
        var iDay=oDate.getDay();
        oTitle.innerHTML=iYear+" 年 "+(iMonth+1)+" 月 ";
        // 初始化一下
        for(var i=0;i<aLi.length;i++)
        {aLi[i].innerHTML="";
            aLi[i].style.height="40px";
            aLi[i].className="";
        }
        var iSum=0;                            // 存本月天数
        var bLeap=false;                    // 是否是闰年
        if(iYear%4==0 && iYear%100!==0 || iYear%400==0) bLeap=true;
        switch(iMonth+1)
        {
            case 1:
            case 3:
            case 5:
            case 7:
            case 8:
            case 10:
            case 12:
                iSum=31;
                break;
            case 4:
            case 6:
            case 9:
            case 11:
                iSum=30;
                break;
            case 2:
                if(bLeap) iSum=29;
                else iSum=28;
                break;
        }
        for(var i=1;i<=iSum;i++)
        {aLi[iDay].innerHTML=i;
            
            iDay++;
        }
        for(var i=0;i<aLi.length;i++)
        {if(aLi[i].innerHTML==nowDate && iYear==nowYear && iMonth==nowMonth)
            {aLi[i].className="active";
            }
            else if((aLi[i].innerHTML<nowDate && iMonth==nowMonth && iYear==nowYear) ||
                iMonth<nowMonth && iYear==nowYear || 
                iYear<nowYear)
            {aLi[i].className="grey";
            }
        }
        // 把没字的格子折叠起来
        for(var i=0;i<aLi.length;i++)
        {if(aLi[i].innerHTML=="")
            {aLi[i].style.height="0px";
            }
        }
    }
    createCalendar(tMonth);
    oPre.onclick=function()
    {createCalendar(--tMonth);
    };
    oNext.onclick=function()
    {createCalendar(++tMonth);
    };
};
</script>

把下面代码加到 <body></body>之间

<div id="calendar">
    <div class="c_header">
        <h1></h1>
        <span class="pre"><</span>
        <span class="next">></span>
        <ol>
            <li> 日 </li>
            <li> 一 </li>
            <li> 二 </li>
            <li> 三 </li>
            <li> 四 </li>
            <li> 五 </li>
            <li> 六 </li>
        </ol>
    </div>
    <ul class="c_body">
        <li></li><li></li><li></li><li></li><li></li><li></li><li></li>
        <li></li><li></li><li></li><li></li><li></li><li></li><li></li>
        <li></li><li></li><li></li><li></li><li></li><li></li><li></li>
        <li></li><li></li><li></li><li></li><li></li><li></li><li></li>
        <li></li><li></li><li></li><li></li><li></li><li></li><li></li>
        <li></li><li></li><li></li><li></li><li></li><li></li><li></li>
    </ul>
</div>
本站未注明转载的文章均为原创,转载请注明来源,谢谢!

添加新评论