近来要做一个记事本系统,想找一个合适的日历控件,但网上的都是那种日历选择控件。
于是到qq的记事本系统找了一个,但里面的算法有点落后,所以用了它的样式自己写了个。
前台效果预览
完整实例下载
程序说明
【Date】
这个日历控件运用了很多Date相关操作和方法。
先说说Date对象几个有用的属性:
getFullYear:返回年份值
getMonth:返回月份值
getDate:返回一个月中的日期值
getDay:返回一周中的日期值
其中对getDay可能比较陌生,下面列出值对应的星期:
值 星期
0 星期天
1 星期一
2 星期二
3 星期三
4 星期四
5 星期五
6 星期六
这几个属性都是根据本地时间获取的,还有getUTCFullYear、getUTCMonth、getUTCDate、getUTCDay这几个属性是全球标准时间对应的值。
下面说说获取日期对象,获取当前日期很简单:
new Date()
获取指定日期:
new Date(this.options.SelectDay)
获取指定年月日的日期:
new Date(this.Year, this.Month - 1, d)
下面是几个比较有技巧的地方:
首先,做日历控件时需要知道该月第一天离星期天的天数,参照getDay对应值,发现这刚好等于该月第一天的getDay值,所以可以这样获得:
new Date(this.Year, this.Month - 1, 1).getDay()
还有是获取该月的天数,这里比较精妙,通过获取该月最后一天的getDate值就可以得到该月的天数,但没有办法直接获取该月最后一天。
这里有一个方法,当获取指定年月日的日期时,设置日参数为0,就可以获取上一个月的最后一天,所以可以这样获取:
new Date(this.Year, this.Month, 0).getDate()
这个方法是很久以前在别人代码中发现的。
使用说明:
首先是实例化一个Calendar,并设置参数。
参数说明:
Year:要显示的年份
Month:要显示的月份
SelectDay:选择日期
onSelectDay:在选择日期触发
onToday:在当天日期触发
onFinish:日历画完后触发
一般SelectDay设置成选择了的日期,并在onSelectDay中设置一个函数用来设置这个日期的样式,
例如实例里SelectDay设置成今个月10号并在那天样式设为onSelect:
SelectDay: new Date().setDate(10),
onSelectDay: function(o){ o.className = "onSelect"; },
而onToday就用来设置今日日期的样式,
例如实例里面把今天的日期的样式设为onToday:
onToday: function(o){ o.className = "onToday"; },
在onFinish中可以放需要设置日历的程序。
可以通过this.Year和this.Month获取当前日历显示的年份和月份。
对有数据的日期的也在这里设置,例如实例中是有一个当前月份的有数据的日期列表,然后根据这个列表对相应的日期进行设置:
var flag = [10,15,20];
for(var i = 0, len = flag.length; i < len; i++){
this.Days[flag[i]].innerHTML = "<a href='javascript:void(0);' onclick=\"alert('日期是:"+this.Year+"/"+this.Month+"/"+flag[i]+"');return false;\">" + flag[i] + "</a>";
}
实例中是固定了这个日期列表,实际应用中可以根据年份月份获取对应的日期列表,
个人推荐用年份月份通过ajax获取。
程序还有下面这几个方法:
NowMonth:显示当前月
PreMonth:显示上一月
NextMonth:显示下一月
PreYear:显示上一年
NextYear:显示下一年
PreDraw:根据日期参数画日历
分享到:
相关推荐
JavaScript博客式日历控件是一种用户界面元素,常用于在线记事本系统或者任何需要日期选择功能的应用。这种日历控件与常见的日历选择器不同,它通常呈现出一种更美观、更符合博客或网站风格的设计。在创建自定义日历...
JavaScript日历控件是网页开发中常用的一种交互元素,它能帮助用户方便地选择日期,常见于表单输入、事件安排或时间相关的功能。在给定的资源中,包含了六种不同样式的JavaScript日历,这些日历可能具有不同的设计...
7. **兼容性**:考虑到浏览器的多样性,编写JavaScript日历控件时需要关注跨浏览器的兼容性问题,确保在不同的浏览器(如Chrome、Firefox、Safari、Edge和IE)上都能正常工作。 在提供的文件名中,"calendar.html"...
Tigra Calendar是一款广泛使用的跨浏览器JavaScript日历控件,它以其弹出式的显示方式而受到青睐。在本文中,我们将深入探讨这款控件的特点、功能以及如何在实际项目中应用。 首先,Tigra Calendar的主要特点是其跨...
JavaScript日历控件是网页开发中常用的一种交互元素,它为用户提供了一个直观的方式来选择日期,常见于表单、事件管理或在线预订系统等场景。在本文中,我们将深入探讨六种不同的JavaScript日历控件,了解它们的特点...
下拉式日历控件是软件开发中常见的一种交互元素,尤其在Web应用和移动应用中广泛使用。这种控件提供了简洁、高效的日期选择方式,用户可以通过点击按钮打开一个下拉菜单,展示出完整的日历视图,进而方便地选择年、...
- JavaScript文件(如`calendar.js`):包含日历控件的逻辑代码。 - HTML文件(如`index.html`):展示日历控件的示例页面。 - 可能还有其他资源文件,如图片或字体。 为了使日历控件更强大,我们还可以考虑增加...
javascript写的日历控件
在IT领域,日历控件是一种常见的用户界面元素,它允许用户方便地选择日期或查看日期安排。在本文中,我们将深入探讨日历控件的种类、用途、设计原则以及如何在不同编程语言和框架中实现和应用这些控件。 首先,让...
从JavaScript实现到多样化功能,从用户体验到跨平台兼容性,理解并掌握日历控件的开发可以提升开发者在创建高效、用户友好的应用程序上的能力。通过学习和分析提供的文件,我们可以深入探究这些方面的具体实现和技巧...
JavaScript的网页日历控件是Web开发中常见的一种交互元素,它允许用户通过图形界面方便地选择日期,常用于表单填写、事件预订或者在线时间安排等场景。这些控件通常具有多种样式和定制选项,以适应不同网站的设计...
最后,考虑到跨平台兼容性和响应式设计,日历控件需要适应不同的设备和屏幕尺寸。在移动设备上,日历可能需要以更紧凑的形式展示,而在大屏设备上则可以提供更丰富的视图选项,如多月视图或年度视图。 在“日历控件...
总之,JavaScript日历控件是一个结合了前端技术与用户体验设计的组件,通过JavaScript的动态特性,我们可以创建功能丰富、用户友好的日期选择工具。在实际项目中,还可以考虑与其他库(如jQuery、React或Vue)集成,...
这份"JavaScript手册和日历控件"压缩包显然旨在为初学者提供一个全面的学习资源,帮助他们从基础到进阶掌握JavaScript,并了解如何实现日历控件。 首先,我们来看"JavaScript参考手册中文版.chm"。这是一本详细阐述...
创建一个JavaScript日历控件通常包括以下步骤: 1. 在HTML页面中定义一个用于显示日历的元素,如`<input type="text">`,并为其设置ID以便于JavaScript访问。 2. 引入JavaScript文件,这可能是一个外部文件(例如`...
对于.NET开发者,他们可以使用ASP.NET AJAX Control Toolkit或者jQuery UI等库来集成JavaScript日历控件。在Java环境中,特别是使用JSP和Servlets时,可以结合使用JavaScript库如Bootstrap Datepicker或PrimeFaces等...
然后,我们来看看JavaScript日历控件。My97DatePicker是一款非常流行的JavaScript日历插件,它支持多语言,兼容各种浏览器,并且允许自定义样式和事件处理。My97DatePicker不仅提供基本的日期选择功能,还具备日期...
总的来说,创建一个漂亮的JavaScript日历控件涉及了前端开发的多个核心技能,包括HTML结构设计、JavaScript逻辑编写以及CSS样式实现。通过不断学习和实践,开发者可以制作出既实用又美观的日历组件,提升网页的用户...
首先,让我们深入了解JavaScript日历控件的基本概念。JavaScript日历控件通常由HTML、CSS和JavaScript代码组成,通过DOM操作动态创建和更新页面上的日历元素。开发者可以自定义控件的样式、行为和功能,以适应不同...