`
weick
  • 浏览: 69073 次
  • 性别: Icon_minigender_1
  • 来自: 天堂的隔壁
社区版块
存档分类
最新评论

一个简单的日历控件

    博客分类:
  • js
IE 
阅读更多

附件提供了完整的演示文档。目前只支持IE。

 

var CALT_MONTH_LENGTH = [31,28,31,30,31,30,31,31,30,31,30,31]; //平年的月份天数
var CALT_LEAP_MONTH_LENGTH = [31,29,31,30,31,30,31,31,30,31,30,31];  //闰年的月份天数

/**
 * 判断某年是否是闰年
 * @param $year
 */
function isLeapYear($year) {
    return (($year % 4 == 0) && (($year % 100 != 0) || ($year % 400 == 0)));
}

/**
 * 获取某年某月的天数
 * @param $month
 * @param $year
 */
function monthLength($month, $year) {
    return isLeapYear($year) ? CALT_LEAP_MONTH_LENGTH[$month] : CALT_MONTH_LENGTH[$month];
}

/**
 * 根据给定的年份和月份绘制日历
 * @param year   给定的年份
 * @param month  给定的月份
 * @return  日历
 */
function paintCalendar(year,month){
    var time=new Date();
    time.setYear(year);
    time.setMonth(month-1);
    var monthLen=monthLength(month-1,year);
    var count=0;
    var sb=[];
    sb.push("<tr>");
    for(var i=1;i<=monthLen;i++){
        time.setDate(i);
        var week=time.getDay();
        if(0==week && i==1){   //1号恰好是星期日
            sb.push(createTableTD(6));
            sb.push("<td>");
            sb.push(i);
            sb.push("</td>");
            count=7;
        }else{
            if(i!=1){
                sb.push("<td>");
                sb.push(i);
                sb.push("</td>");
                count++;
            }else{
                sb.push(createTableTD(week-1));
                sb.push("<td>");
                sb.push(i);
                sb.push("</td>");
                count += week;
            }
        }
        if(count==7){
            count=0;
            sb.push("</tr>");
            if(i!=monthLen){
                sb.push("<tr>");
            }
        }
        if(i==monthLen){
            sb.push(createTableTD(7-count));
            sb.push("</tr>");
        }
    }
    return sb.join("");
}
function createTableTD(lows){
    var tmp=[];
    for(var i=0;i<lows;i++){
        tmp.push("<td></td>");
    }
    return tmp.join("");
}
分享到:
评论

相关推荐

    6个JS日历控件个JS日历控件

    个JS日历控件个JS日历控件个JS日历控件个JS日历控件个JS日历控件个JS日历控件个JS日历控件个JS日历控件个JS日历控件个JS日历控件个JS日历控件个JS日历控件

    js日历控件js日历控件

    js日历控件js日历控件js日历控件js日历控件js日历控件js日历控件js日历控件js日历控件js日历控件js日历控件

    介绍一个ActiveX日历控件.ocx

    介绍一个ActiveX日历控件.ocx

    日历控件.rar 日历控件.rar

    日历控件 日历控件 日历控件日历控件 日历控件 日历控件日历控件 日历控件 日历控件日历控件 日历控件 日历控件日历控件 日历控件 日历控件日历控件 日历控件 日历控件日历控件 日历控件 日历控件

    日历控件 简单实用

    日历控件日历控件 简单实用

    简单好看的js日历控件

    简单好看的js日历控件

    js日历控件[超酷超漂亮]

    js日历控件[超酷超漂亮]js日历控件[超酷超漂亮]js日历控件[超酷超漂亮]js日历控件[超酷超漂亮]js日历控件[超酷超漂亮]js日历控件[超酷超漂亮]js日历控件[超酷超漂亮]js日历控件[超酷超漂亮]js日历控件[超酷超漂亮]js...

    简单及使用的JS日历控件

    日历控件 日历控件 日历控件 日历控件 日历控件 日历控件 日历控件 日历控件 日历控件 日历控件 日历控件 日历控件 日历控件 日历控件 日历控件 日历控件 日历控件 日历控件 日历控件 日历控件 日历控件 日历控件 ...

    简单日历控件

    一个简单实用的日历控件

    一个简单的 .NET 日历控件

    本控件是在 CustomControlFreak 的基础上修改的 本代码开源,欢迎指正,可随意修改. 如果好用,请给分

    一个简单的C#日历控件(源码)

    一个简单的C#日历控件(源码) 作一个小项目,其中Appointment功能需要日历控件,但C#本身的日历控件不能满足需要,只好自己编写了一个。比较简单,但满足了功能要求。 1.只实现了一个事件:DateChanged取得所选取的...

    VBA EXCEL制作日历控件

    在EXCEL中,可以通过双击单元格,调出日历控件,通过对日历控件的操作,将所选日期更新到单元格中,该控件代码完全开放免费,供大家学习和使用,感兴趣的同学可以多多关注www.allmlp.com,让我们共同成长共同学习。

    Eson-用于WEB的简单日历控件 v1.1

    Eson简单日历控件是用于web的简单日历控件。(请在web环境中测试使用)* 不依赖于任何前端框架。* 支持单选,多选。* 自定义控件数量。* 自定义星期显示。* 自定义工作日的第一天。* 自定义日期格式。* 表单自动绑定...

    简单的JS日历控件

    网上的一个开源的控件,经过本人修改,展示出各式各样的日历控件,使用方便。给input添加一个onclick事件即可,无需再添加onFocus和onBlur事件,样式灵活多样,操作简便。

    Qt 自定义 Calendar 日历控件

    Qt 自定义 Calendar 日历 控件 方便控制 及实现样式表

    一个swing的日历控件

    在网上down的一个简单开源控件,按自己需要完善后的一个日历控件。公开源码与大家一起学习!

    很好用的日历控件,日历、控件

    很好用的日历控件,日历、控件很好用的日历控件,日历、控件很好用的日历控件,日历、控件很好用的日历控件,日历、控件

    简单 的日历 控件

    非常好用的日历控件 ,简单 易操作,只需要把其中一个文件导入就行了

    最简单的日历控件

    最简单的日历控件,使用的是xml布局,有开始时间和结束时间,只有开始时间和结束时间的item能点击,每个item上边显示阳历,下边显示阴历,并且含有节日。

    一套完整的日历控件

    这是一个源码开放的日历控件,经过测试IE7,8,9,10,360,GOOGLE,火狐都能使用.

Global site tag (gtag.js) - Google Analytics