javascript简易日历

<!DOCTYPE html>
<html>
<meta charset="UTF-8">
<head>
    <title>Calendar</title>
<script>
window.οnlοad=function(){
var oCalendar=document.getElementById('calendar');
    calendar(oCalendar);
  //初始化下拉框,刚刚开始显示当前系统日期
  var oYear=document.getElementById('year');
  var oMonth=document.getElementById('month');
  for(var i=1;i<=12;i++){
     var oOpt=document.createElement('option');
     oOpt.innerHTML=i;
     oMonth.appendChild(oOpt);
  }
  for(var i=2010;i<=2050;i++){
          var oOpt=document.createElement('option');
     oOpt.innerHTML=i;
     oYear.appendChild(oOpt);
  }
  var date=new Date();
  oYear.value=date.getFullYear();
  oMonth.value=date.getMonth()+1;
 
  //处理查询
  var oBtn=document.getElementById('btn');
         oBtn.οnclick=function(){
                 var year=oYear.value;
                 var month=oMonth.value;
                 oCalendar.innerHTML="";
                 calendar(oCalendar,year,month,1);
         }
    //今天
    document.getElementById('btn1').οnclick=function(){
          oCalendar.innerHTML="";
          calendar(oCalendar);
          oYear.value=new Date().getFullYear();
          oMonth.value=new Date().getMonth()+1;
    }
    curTimer();
    setInterval(curTimer,1000);
};
//显示时间
function curTimer(){
  var t=document.getElementById('timer');
  var date=new Date();
  var timer=formatStr(date.getHours())+":"+formatStr(date.getMinutes())+":"+formatStr(date.getSeconds());
  t.innerHTML=timer;

}
//规范格式
function formatStr(n){
  if(n<10){
    n='0'+n;
  }else{
    n=n+'';
  }
  return n;
}
 
function calendar(obj,year,month,type){
  var date=new Date();
    if(year == null ||month == null){
      year=date.getFullYear();
      month=date.getMonth()+1;
    }
    var day = new Date(year,month,0);//2014-12的最后一天;
    var days_month=day.getDate();//获得12月的天数
    day=new Date(year,month-1,1);//2014-12-1;
    var day_week=day.getDay();//获得1号的星期
    //加入星期
    for(var k=0;k<7;k++){
      var oDiv=document.createElement('div');
      oDiv.className='week_day';
      switch(k){
        case 0:oDiv.innerHTML='日';
        obj.appendChild(oDiv);
        break;
        case 1:oDiv.innerHTML='一';
        obj.appendChild(oDiv);
        break;
        case 2:oDiv.innerHTML='二';
        obj.appendChild(oDiv);
        break;
        case 3:oDiv.innerHTML='三';
        obj.appendChild(oDiv);
        break;
        case 4:oDiv.innerHTML='四';
        obj.appendChild(oDiv);
        break;
        case 5:oDiv.innerHTML='五';
        obj.appendChild(oDiv);
        break;
        case 6:oDiv.innerHTML='六';
        obj.appendChild(oDiv);
        break;
      }
    }
    //加入天数,并突出当前天
    for(var i=0;i<day_week;i++){
    var oDiv=document.createElement('div');
      oDiv.className='day';
      oDiv.innerHTML="";
      obj.appendChild(oDiv);
    }
    for(var j=0;j<days_month;j++){
       var oDiv=document.createElement('div');
        oDiv.className='day';
        if(!(type == 1)){
           if((j+1) == date.getDate()){
          oDiv.style="border-radius:30px;background:green;";
         }
        }
        oDiv.innerHTML=(j+1);
        obj.appendChild(oDiv);
    }
     //为每一天添加onmouseover与onmouseout事件
    var oDivs=document.getElementById('calendar').getElementsByTagName('div');
    for(var k=7;k<oDivs.length;k++){
      var oldColor=oDivs[k].style.background;
       oDivs[k].οnmοuseοver=function(){
           this.style.background='gray';
       }
       oDivs[k].οnmοuseοut=function(){
           this.style=oldColor;
       }
    }
}
</script>
<style type="text/css">
*{margin: 0px;padding: 0px;}
#search{width: 224px; position: absolute;margin: 100px 200px;border:1px solid green;border-radius: 20px;overflow: hidden;}
#condition{width: 225px;height: 50px; position: relative;border-bottom: 1px solid green;}
#calendar{width: 225px;height: 200px; position: relative;}
#timer{width: 225px;height: 40px;border-top:1px solid green; text-align: center;line-height: 40px;font-size: 18px;font-weight: bold;background:#5E5E5E;color: blue;}
.day{width: 32px;height: 30px;float: left;text-align: center;line-height: 30px;}
.week_day{width: 32px;height: 30px;float: left;text-align: center;line-height: 30px;font-family: '宋体';font-weight: bold;background:#adceef;}

#year,#month{width: 48px;height: 20px;text-align: center;margin-left: 5px;margin-top:15px; }
#condition #month{width: 35px;}
#btn1{width: 25px;text-align: center;text-decoration: none;font-family: '宋体';font-weight: bold;font-size: 12px;margin-left: 5px;}
</style>
</head>
<body>
        <div id="search">
        <div id="condition">
           <select id="year"></select>年
           <select id="month"></select>月
           <button id="btn">查询</button>
           <a href="javascript:;" id="btn1">今天</a>
        </div>
        <div id="calendar"></div>
        <div id="timer"></div>
    </div>
</body>
</html>





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值