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' οnclick='event.cancelBubble=true; ' style='display:none;position:absolute;background-color:#005500; width:50px;word-break:break-all;' οnmοuseοut=\"this.style.display='none';\"></div><table οnclick='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'οnclick='"+caladerId+".close();'>关闭</div></td></tr>";
     cString +="<tr><td colspan='7' > <span οnclick='"+caladerId+".monthSub();'>上月</span><b> "+parseInt(year)+"年"+ymonth +"月</b>  <span οnclick='"+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);
   
 }

posted on 2008-10-30 16:22 易哲 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/swneng/archive/2008/10/30/1323108.html

javascript-----日历控件相关推荐

  1. JS日历控件优化(增加时分秒)

    JS日历控件优化  在今年7月份时候 写了一篇关于 "JS日历控件" 的文章 , 当时只支持 年月日 的日历控件,现在优化如下:      1. 在原基础上 支持 yyyy-mm- ...

  2. PHP+JavaScript+HTML实现注册界面表单及日历控件

    本文主要是介绍我做PHP网站时的一个HTML的简单静态界面,它的主要功能是用户注册界面,并且参照了网上的例子使用JavaScript判断和My97DatePicker的日历控件.界面效果如下图所示: ...

  3. JavaScript blog式日历控件javascript

    javascript blog式日历控件 近来要做一个记事本系统,想找一个合适的日历控件,但网上的都是那种日历选择控件. 于是到qq的记事本系统找了一个,但里面的算法有点落后,所以用了它的样式自己写了 ...

  4. [20081226更新(加了日文版本支持)]一个JavaScript WEB日历控件,支持IE6,FireFox,可支持不同语言版本,目前支持中文简繁,英,日语

    已经在google code上建立了项目,欢迎下载: http://code.google.com/p/kimsoft-jscalendar/downloads/list 如果有bug,欢迎大家到go ...

  5. My97DatePicker日历控件日报、每周和每月的选择

    My97DatePicker日历控件日报.每周和每月的选择 1.设计源代码 <%@ page language="java" import="java.util.* ...

  6. My97 DatePicker日历控件在火狐或IE下打不开

    title: My97 DatePicker日历控件在火狐或IE下打不开 date: 2018-02-05 22:29:07 categories: javascript tags: Firefox ...

  7. python 自动化 在日历中选择时间-Python中Selenium选择日期(选择日历控件)的方法...

    1.日历控件中,年月日,一个一个的点击,灵活性太差,稳定性也差 通过检查元素,日历空间就是一个文本输入框,可以用send_keys 检查元素 2.发现标签中存在readonly属性,这是一个只读标签不 ...

  8. 支持IE,Firefox的日历控件

    <html> <head> <title>日期输入框演示-queyang.com</title> <meta http-equiv="C ...

  9. 一个非常好用的JS日历控件(支持.NET)

    今天把一个非常好用的日历控件和大家分享一下,在平时输入日期的时候,往往我们需要达到一个更好的用户体验效果,使用日历控件是一个最佳的选择,这个日历控件非常的美观,是基于js方式的日历控件,而且调用非常的 ...

  10. 日历控件,可运行在XHTML1.0下

    JCalendar.js 1 //基本函数库/ 2 var isIE = /msie/i.test(navigator.userAgent);3 var isDTD = /CSS1Compat/i.t ...

最新文章

  1. 关于jsp基础知识题目(一)
  2. 聚类:基本概念和方法
  3. 理财工具——七大标准比率
  4. python 数据分析学什么-python数据分析师要学什么
  5. 浏览器下载图片的方法,修改报文来实现。
  6. java中的stack类和C++中的stack类的区别
  7. $AppStart、$AppEnd 全埋点解析
  8. Apache Hive on Apache Tez
  9. 手机能打开的表白代码_手机拍照还能加文字?打开这个自带按钮,一键就能添加方便...
  10. opencv 亮度增强 二
  11. 深入学习卷积神经网络中卷积层和池化层的意义(转)
  12. Spring Web MVC(二)
  13. windows下工具
  14. wsdl2java 参数_wsdl2java参数详解
  15. python语言培训是密封式的吗
  16. 7-1 十二进制字符串转换成十进制整数(PTA)
  17. gRPC-拦截器简单使用
  18. js html游戏仿写,天猫首页天猫超市下的选项卡(加自动轮播效果)仿写(js加jquery实现动态效果)...
  19. 基建狂魔谷歌,如何把数据中心“武装到牙齿”
  20. 教你用python画一个可爱皮卡丘!

热门文章

  1. feature tools:Python 中的自动化特征工程
  2. tushare pro积分规则
  3. mysql5.7 keepalived_基于MySQL 5.7多源复制及Keepalived搭建三节点高可用架构
  4. xamarin android 设备,【Xamarin.Android】在Visual Studio中增强设备日志记录
  5. yum安装mysql具体步骤_CentOS7.0下使用yum安装MySQL的步骤教程
  6. spring 配置项 随机_Spring Boot--从配置文件中获取随机数
  7. 自动驾驶 6-2: 几何横向控制Lesson 2: Geometric Lateral Control - Pure Pursuit
  8. 算法:单词匹配290. Word Pattern
  9. 算法:Valid Sudoku(有效的数独)
  10. php大小写转换,php中字母大小写转换函数