• javascript日历控件


    // JScript 文件

    function calader(caladerId,elementId){
      this.minDate=new Date(2008,9,1);
      this.maxDate=new Date(2008,10,1);
      this.title="线路报名:";
      this.dateNow = new Date();
      this.message =new Object();
      this.message.M20081025="swnenngdafasfasdfasfdasfasdf";
      this.message.M20081029="swnenngdafasfasdfasfdasfasdf";
      this.message.M20081030="swnenngdafasfasdfasfdasfasdf";
      this.event =new Object();
      this.show = function (){};

      this.close =function (){
          SLib.getElement(elementId).style.display ='none';
      }
      this.monthAdd = function (){
                  var month =this.dateNow.getMonth()+1;
                  var year = this.dateNow.getFullYear();
                  if(month>11){
                      month = 0;
                      year +=1;
                  }
                  this.dateNow.setFullYear(year);
                  this.dateNow.setMonth(month);
                  this.show();
      }
      this.yearAdd = function (){
                  var year = this.dateNow .getFullYear()+1;
                  this.dateNow.setFullYear(year);           
      }
      this.monthSub = function (){
                  var month = this.dateNow.getMonth() -1;
                  var year = this.dateNow.getFullYear();
                  if(month<0){
                     month=11;
                     year =year-1;
                  }
                  this.dateNow.setFullYear(year);
                  this.dateNow.setMonth(month);
                  this.show();
      }
      this.yearSub =function(){
                  var year = this.dateNow .getFullYear()-1;
                  this.dateNow.setFullYear(year);
      }
      this.FirstDayOfDateNow =function(){
                  var month = this.dateNow.getMonth();
                  var year =this.dateNow .getFullYear();
                  var dateSt = new Date();
                  dateSt.setMonth(month);
                  dateSt.setFullYear(year);
                  dateSt.setDate(1);
                  return dateSt.getDay();
      }
      this.DayCountOfMonthNow =function(){
                  var dateEt = this.dateNow;
                  var month =dateEt .getMonth()+1;
                  if("1,3,5,7,8,10,12".indexOf(month) !=-1){
                     return 31;
                  }
                  if("4,6,9,10,11".indexOf(month) !=-1){
                     return 30;
                  }
                  if(month ==2){
                     return 28;
                  }
      }
     this.showInfo =function(ele,info){
     
        SLib.getElement(caladerId+"_showInfo").style.left=ele.offsetLeft//SLib.getXY(ele)[0];
        SLib.getElement(caladerId+"_showInfo").style.top=ele.offsetTop//SLib.getXY(ele)[1];
        SLib.getElement(caladerId+"_showInfo").innerHTML =info;
        SLib.getElement(caladerId+"_showInfo").style.display =''; 
     
      
     }
      this.show = function (){
         var firstDay = this.FirstDayOfDateNow();
         var DayCount =this.DayCountOfMonthNow();
         var month =this.dateNow.getMonth();
         var year = this.dateNow.getFullYear();
         var dateRun =new Date(year,month,1);
         var dateEnd =new Date(year,month,DayCount);
         var ymonth =month+1;
         if(ymonth<10){
                   ymonth ="0"+ymonth;
         }
         var cString="<div id='"+caladerId+"_showInfo' onclick='event.cancelBubble=true; ' style='display:none;position:absolute;background-color:#005500; 50px;word-break:break-all;' onmouseout=\"this.style.display='none';\"></div><table onclick='event.cancelBubble=true; ' id='"+caladerId +"_tb' class='cld' border=1>";
         cString +="<tr style='background-color:#ccc;'><td colspan='7' style='word-break:keep-all;padding-top:5px;' border=0><div style='float:left;'>"+this.title+"</div><div style='float:right'onclick='"+caladerId+".close();'>关闭</div></td></tr>";
         cString +="<tr><td colspan='7' > <span onclick='"+caladerId+".monthSub();'>上月</span><b> "+parseInt(year)+"年"+ymonth +"月</b>  <span onclick='"+caladerId+".monthAdd();'>下月</span></td></tr>";
         cString +="<tr><td>日</td><td>一</td><td>二</td><td>三</td><td>四</td><td>五</td><td>六</td></tr>";
         var cStart=0;
         for(var i =0;i<7;){
            if(i==0){
            cString +="<tr class='cltr'>"
            }
            if(cStart < firstDay||dateRun >dateEnd){
                cString +="<td> </td>";
            }
            else{
                var year = dateRun.getFullYear();
                var month =dateRun.getMonth()+1;
                var date =dateRun .getDate();
                if(month<10){
                   month ="0"+month;
                }
                if(date<10){
                   date ="0"+date;
                }
                if(this.minDate < dateRun &&this.maxDate >dateRun){
                    if(eval("this.message.M"+year+month+date)){
                       cString +="<td )\" class='message'>"+dateRun .getDate()+"<br/>"+eval("this.message.M"+year+month+date) +"</td>";
                    }
                    else{
                      cString +="<td>"+ dateRun .getDate()+"</td>"
                    }
                }
                else{
                     cString +="<td class='dateOut'>"+ dateRun .getDate()+"</td>"
                }
                 dateRun.setTime(dateRun.getTime()+1000*60*60*24);
            }
              i++;
            if(i==7){
               cString +="</tr>";
               if(dateRun.getTime()>dateEnd.getTime()){
                  break;
               }
               else{
                i =0;
               }
            }
            cStart++;
         
          
         }
         cString +="</table>";
         document.getElementById(elementId).innerHTML=cString ;
         SLib.getElement(elementId).style.display ='';
      }
        var docE =document.body||document.documentElement ;
     
        docE.attachEvent("onclick",this.close);
       
     }

  • 相关阅读:
    html基础起航
    必杀技———SQL基础整理系列(一)
    JavaScript代码段整理笔记系列(一)
    与JSP的初次邂逅……
    产品第二篇
    产品第一篇
    进程在后台可靠运行的几种方法
    Vue.js模板语法
    更靠谱的横竖屏检测方法
    浮动【电梯】或【回到顶部】小插件:iElevator.js
  • 原文地址:https://www.cnblogs.com/swneng/p/1323108.html
Copyright © 2020-2023  润新知