`
weick
  • 浏览: 70612 次
  • 性别: 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("");
}
分享到:
评论

相关推荐

    一个简单的 .NET 日历控件

    【标题】:“一个简单的 .NET 日历控件” 在.NET框架中,开发人员经常需要创建自定义用户界面元素,以满足特定项目需求。这个“一个简单的 .NET 日历控件”是一个示例,展示了如何扩展.NET的基础控件库,创建一个...

    一个简单好用日历控件

    这个名为"一个简单好用日历控件"的资源,可能是为开发者提供的一种轻量级、易于集成的日历组件。它适用于各种应用程序,尤其是那些需要用户输入日期或安排事件的应用。 控件在软件开发中扮演着重要角色,它们是构建...

    简单日历控件

    总的来说,"简单日历控件"是一个基础但实用的工具,它在软件开发中扮演着重要角色。无论是在网页、移动应用还是桌面应用中,理解并掌握其设计与实现原理都是提升用户体验的关键。开发者需要根据具体需求,合理选择和...

    介绍一个ActiveX日历控件.ocx

    "ActiveX日历控件.ocx"就是这样一个专门用于显示日期和时间的组件。 日历控件是用户界面设计中的常见元素,它允许用户方便地选择日期,常用于事件预订、任务管理或任何形式的日期输入。在ActiveX框架下,这个`.ocx`...

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

    JavaScript(JS)日历控件是网页开发中常用的一种组件,用于展示日期选择功能,通常在表单中作为输入辅助工具出现。它们可以提供用户友好的界面,方便用户选择日期,而无需手动输入。以下是对JS日历控件的一些详细...

    简单好看的js日历控件

    在网页设计中,一个简单好看的js日历控件可以极大地提升用户体验,尤其是在需要用户输入或选择日期的场景。 创建一个js日历控件,主要涉及以下几个知识点: 1. **DOM操作**:JavaScript通过Document Object Model...

    日历控件大全 - 日历控件

    日历控件通常包含一个月视图,展示当前月份的所有日期,用户可以通过点击前一个月或下一个月的按钮来切换月份。某些高级的日历控件还提供了周视图、年视图,甚至多月视图,以满足不同的需求。此外,它们可能具有事件...

    简单的JS日历控件

    JavaScript(JS)日历控件是一种常见的前端交互元素,它为用户提供了一个直观的方式来选择日期,常见于表单输入、事件预订或时间相关的功能。在这个开源项目中,经过修改的控件提供了一种简单且高效的方式来集成到...

    一套完整的日历控件

    这个名为"一套完整的日历控件"的资源提供了一个源码开放的日历控件解决方案,适合开发者在构建Web应用时集成到他们的项目中。这个控件经过了广泛的浏览器兼容性测试,包括Internet Explorer 7、8、9、10,360浏览器...

    Qt 自定义 Calendar 日历控件

    2. **自定义控件的创建**: 如果QCalendarWidget的灵活性不够,开发者可以使用QWidget作为基础,构建一个完全自定义的日历控件。这通常涉及绘制日历的各个部分(如日、周、月),并处理用户交互事件,如点击日期、...

    最简单的日历控件

    本文将深入探讨如何使用XML布局实现一个最简单的日历控件,包括开始时间和结束时间的选择,以及同时展示阳历和阴历及节日的功能。 首先,我们需要在XML布局文件中定义这个日历控件的基础结构。可以使用`GridView`...

    日历控件 简单实用

    本文将深入探讨日历控件的基本概念、功能、应用以及如何实现一个简单实用的日历控件。 首先,日历控件通常出现在需要用户输入日期的场合,比如在线预订系统、事件管理应用或任务调度软件。它减少了用户输入错误的...

    日历控件大集合—各式各样的日历控件

    在"携程网中的日历空间JS代码.htm"这个文件中,我们可以推测这是一个关于携程旅行网站日历控件的JavaScript实现。携程作为在线旅游平台,其日历控件需要处理复杂的预订逻辑,如航班、酒店的入住离店日期、旅行日期等...

    html js脚本日历控件

    在JavaScript中,创建一个日历控件主要涉及到DOM操作、事件处理和一些基本的CSS样式设计。下面我们将详细探讨这些知识点: 1. **DOM操作**:HTML文档对象模型(DOM)是HTML和XML文档的编程接口。在JavaScript中,...

    提供excel 日历控件9.0下载(工具必须的插件)

    在Excel中,日历控件是一种非常实用的功能,它允许用户通过一个直观的日历界面来选择日期,这对于处理与时间相关的数据尤其有用。标题提到的"提供excel 日历控件9.0下载"指的是为不支持或缺少此功能的Excel版本提供...

    winform自定义日历控件

    本案例中,我们讨论的是如何创建一个"winform自定义日历控件",模仿百度的日历展示样式。这个自定义控件通常会包含日期选择、事件标记、颜色定制等功能,以提供更加友好和个性化的用户体验。 在C#中,我们可以继承`...

    swift-一款简单优雅的iOS日历控件

    5. 示例或示例项目:通常包含一个简单的应用示例,展示如何在实际项目中集成和使用该日历控件。 通过研究这些源码,开发者不仅可以了解如何使用这个日历控件,还可以学习到Swift中关于自定义视图、手势识别、Block...

    日历控件12

    在“日历控件140821”这个文件中,很可能包含了这些方面的示例代码、样式文件和配置文档,用于帮助开发者理解和实现上述功能。通过深入学习和实践,开发者可以掌握创建高效、用户友好的日历界面的技能,提升应用的...

    组态王应用——日历控件的使用

    - **创建画面**:设计一个包含日历控件的画面,命名为“日历控件”。 - **插入日历控件**:通过工具箱的“插入通用控件”功能,选择“Microsoft Date and Time Picker Control 6.0”,将其添加至画面,并分别命名...

    简单 的日历 控件

    通常,你可以通过`new JCalendar()`来创建一个基本的日历控件。 4. **添加到容器**:将JCalendar控件添加到你的GUI容器,如JFrame或JPanel。这通常通过`add()`方法完成,例如`frame.getContentPane().add(calendar)...

Global site tag (gtag.js) - Google Analytics