JS日历_完美兼容火狐IE等各种浏览器 calendarjs

合集下载

vue lunar-calendar 用法

vue lunar-calendar 用法

vue lunar-calendar 用法lunar-calendar 是一个基于Vue.js 的插件,用于显示农历日历。

以下是使用 lunar-calendar 的步骤:1. 安装插件:首先,使用 npm 进行安装。

打开终端或命令提示符,并在项目目录下运行以下命令:```npm install vue-lunar-calendar```2. 导入插件:在需要使用 lunar-calendar 的 Vue 组件中,导入lunar-calendar 插件:```javascriptimport LunarCalendar from 'vue-lunar-calendar'```3. 注册插件:在 Vue 实例中,注册 lunar-calendar 插件:```javascripte(LunarCalendar)```4. 在模板中使用lunar-calendar:在需要显示农历日历的地方,使用 `<lunar-calendar>` 组件:```vue<template><lunar-calendar></lunar-calendar></template>```你也可以通过向 `<lunar-calendar>` 组件添加属性来自定义日历的外观和行为,例如指定初始年份、禁用特定日期等。

可用属性和其用法可以在官方文档中找到。

5. 运行应用程序:最后,在你的应用程序中编译和运行 Vue 组件,即可看到农历日历的显示。

以上是使用 vue lunar-calendar 的基本用法。

你可以根据需要进行进一步的自定义和配置,以适应你的应用程序。

更多详细的用法和示例可以参考 lunar-calendar 的官方文档。

轻量级的原生js日历插件calendar.js使用指南

轻量级的原生js日历插件calendar.js使用指南

轻量级的原生js日历插件calendar.js使用指南
许多学习软件的专业人士,都要学编程,而最便捷的一种编程语言就是Java。

本文是轻量级的原生js日历插件calendar.js使用的介绍,下面是该介绍的详细信息。

 网页上的原生js日历代码,鼠标点击文字提示处,会显示一个带年月日的日历窗口,可调整年份、月份、选择日期等,用在网页上方便大家选择日期,提高用户体验。

各大浏览器都能正常运行,有需要的小伙伴可以参考下。

 使用说明:
 需要引入插件calendar.js/calendar.min.js
 须要引入calendar.css 样式表,可以自定义自己想要的皮肤
 本日历插件支持cmd模块化
 如下调用:
 复制代码代码如下:
 xvDate({。

前端开发实训案例教程初级开发简单的在线日历应用

前端开发实训案例教程初级开发简单的在线日历应用

前端开发实训案例教程初级开发简单的在线日历应用前端开发实训案例教程:初级开发简单的在线日历应用在本篇教程中,我们将学习如何利用前端开发技术创建一个简单的在线日历应用。

在线日历应用是一种常见的实际应用程序,它可以帮助用户记录和组织重要的日期和事件。

我们将使用HTML、CSS和JavaScript来实现这个日历应用。

1. 搭建基本框架我们首先创建一个基本的HTML文件。

在文件中,我们添加一个标题,一个容器用于显示日历,并引入所需的CSS和JavaScript文件。

```html<!DOCTYPE html><html><head><title>简单的在线日历应用</title><link rel="stylesheet" type="text/css" href="style.css"></head><body><h1>简单的在线日历应用</h1><div id="calendar"></div><script src="script.js"></script></body></html>```2. CSS样式接下来,我们需要为日历应用添加CSS样式。

创建一个名为`style.css`的CSS文件,并添加以下代码:```css#calendar {width: 300px;border: 1px solid #ccc;padding: 10px;}#calendar table {width: 100%;}#calendar th {background-color: #ccc;}#calendar td {text-align: center;padding: 5px;}#calendar .today {background-color: #f00;color: #fff;}#calendar .selected {background-color: #0f0;}```3. 实现日历功能现在我们开始使用JavaScript编写日历应用的逻辑。

JSP日历控件

JSP日历控件
function selected(cal, date) {
cal.sel.value = date; // just update the date in the input field.
if (cal.dateClicked && (cal.sel.id == "sel1" || cal.sel.id == "sel3"))
cal.showsTime = true;
cal.time24 = (showsTime == "24");
}
if (showsOtherMonths) {
cal.showsOtherMonths = true;
}
calendar = cal; // remember it in the global var
cal.callCloseHandler();
}
function closeHandler(cal) {
cal.hide(); // hide the calendar
// cal.destroy();
calendar = null;
return (Math.abs(date.getTime() - today.getTime()) / DAY) > 10;
}
</script>
<input type=text readonly size=12 name="f_date" id=start value="<%=fbrq%>"><input type="reset" value="选择" onclick="return showCalendar('start', '%Y-%m-%d %H:%M', '24', true);">

JS制作简单的日历控件【JS Date对象练习实例】

JS制作简单的日历控件【JS Date对象练习实例】

JS制作简单的日历控件【JS Date对象练习实例】一直对JS 中的Date 对象不是很熟练,缺乏操作实践,端午节抽空复习了一下,做了一个简单的日期选择控件日历外观参考了淘宝旅行中的日期控件,控件只有基本功能,木有做节日显示,木有做IE6的SELECT遮挡控制,仅供练习:使用方法:只需传入日期INPUT元素的ID即可,isSelect选项为是否为SELECT下拉选择年月设置var myDate1 = new Calender({id:'j_Date1'});var myDate2 = new Calender({id:'j_Date2',isSelect:!0});演示如下:支持选择年月支持SELECT选择年月没空做教程啦,有兴趣的看源代码吧,详细源代码+注释如下:<!DOCTYPE HTML><html><head><meta charset="utf-8"><title>日历组件示例</title><style>.calendar{font-family:Tahoma; background:#fff; float:left; border-style:solid; border-width:1px; border-color:#85BEE5 #3485C0 #3485C0 #85BEE5; position:relative; padding:10px; overflow:hidden;}.calendar dl,.calendar dd{margin:0; padding:0; width:183px; font-size:12px; line-height:22px;}.calendar dt.title-date{ display:block; border-bottom:1px solid #E4E4E4; font-weight:700; position:relative; margin-bottom:5px;}.calendar dt{ float:left; width:25px; margin-left:1px; text-align:center;}.calendar dt.title-date{ width:100%;}.calendar dd{clear: both;width: 183px;height: 139px;font-weight: 700;background:url(/cnblogs_com/NNUF/379856/o_bg.png) no-repeat; margin:0;}.prevyear,.nextyear, .prevmonth,.nextmonth{cursor:pointer;height:9px; background:url(/cnblogs_com/NNUF/379856/o_nextprv.png)no-repeat; overflow:hidden;position:absolute; top:8px; text-indent:-999px;}.prevyear{ left:4px; width:9px;}.prevmonth{ width:5px; background-position:-9px 0; left:20px;}.nextyear{ width:9px; background-position:-19px 0; right:5px;}.nextmonth{ width:5px; background-position:-14px 0; right:20px;}.calendar dd a{float: left;width: 25px;height: 22px; color:blue; overflow: hidden; text-decoration: none;margin: 1px 0 0 1px; text-align:center;}.calendar dd a.disabled{color:#999;}.calendar dd a.tody{ color:red; }.calendar dd a.on{background:blue; color:#fff;}.calendar dd a.live{cursor:pointer}.input{ border:1px solid #ccc; padding:4px; background:url(/cnblogs_com/NNUF/379856/o_nextprv.png)no-repeat right -18px;}</style></head><body><br/><br/><h3>支持选择年月&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;支持SELECT选择年月</h3><div><input type="text" id="j_Date1" class="input">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="text" id="j_Date2" class="input"></div><br/><div></div><!--日历控件JS源码--><script>/*** @namespace _CalF* 日历控件所用便捷函数* */_CalF = {// 选择元素$:function(arg,context){var tagAll,n,eles=[],i,sub = arg.substring(1);context = context||document;if(typeof arg =='string'){switch(arg.charAt(0)){case '#':return document.getElementById(sub);break;case '.':if(context.getElementsByClassName) return context.getElementsByClassName(sub);tagAll = _CalF.$('*',context);n = tagAll.length;for(i = 0;i<n;i++){if(tagAll[i].className.indexOf(sub) > -1) eles.push(tagAll[i]);}return eles;break;default:return context.getElementsByTagName(arg);break;}}},// 绑定事件bind:function(node,type,handler){node.addEventListener?node.addEventListener(type, handler, false):node.attachEvent('on'+ type, handler);},// 获取元素位置getPos:function (node) {var scrollx = document.documentElement.scrollLeft || document.body.scrollLeft,scrollt = document.documentElement.scrollTop || document.body.scrollTop;pos = node.getBoundingClientRect();return {top:pos.top + scrollt, right:pos.right + scrollx, bottom:pos.bottom + scrollt, left:pos.left + scrollx }},// 添加样式名addClass:function(c,node){node.className = node.className + ' ' + c;},// 移除样式名removeClass:function(c,node){var reg = new RegExp("(^|\\s+)" + c + "(\\s+|$)","g");node.className = node.className.replace(reg, '');},// 阻止冒泡stopPropagation:function(event){event = event || window.event;event.stopPropagation ? event.stopPropagation() : event.cancelBubble = true;}};/*** @name Calender* @constructor* @created by VVG* @/NNUF/* @mysheller@* */function Calender() {this.initialize.apply(this, arguments);}Calender.prototype = {constructor:Calender,// 模板数组_template :['<dl>','<dt class="title-date">','<span class="prevyear">prevyear</span><span class="prevmonth">prevmonth</span>','<span class="nextyear">nextyear</span><span class="nextmonth">nextmonth</span>','</dt>','<dt><strong>日</strong></dt>','<dt>一</dt>','<dt>二</dt>','<dt>三</dt>','<dt>四</dt>','<dt>五</dt>','<dt><strong>六</strong></dt>','<dd></dd>','</dl>'],// 初始化对象initialize :function (options) {this.id = options.id; // input的IDthis.input = _CalF.$('#'+ this.id); // 获取INPUT元素this.isSelect = options.isSelect; // 是否支持下拉SELECT选择年月,默认不显示this.inputEvent(); // input的事件绑定,获取焦点事件},// 创建日期最外层盒子,并设置盒子的绝对定位createContainer:function(){// 如果存在,则移除整个日期层Containervar odiv = _CalF.$('#'+ this.id + '-date');if(!!odiv) odiv.parentNode.removeChild(odiv);var container = this.container = document.createElement('div');container.id = this.id + '-date';container.style.position = "absolute";container.zIndex = 999;// 获取input表单位置inputPosvar input = _CalF.$('#' + this.id),inputPos = _CalF.getPos(input);//console.log(inputPos.top + ':' + inputPos.right + ' ' + inputPos.bottom + ' ' + inputPos.left);// 根据input的位置设置container高度container.style.left = inputPos.left + 'px';container.style.top = inputPos.bottom - 1 + 'px';// 设置日期层上的单击事件,仅供阻止冒泡,用途在日期层外单击关闭日期层_CalF.bind(container, 'click', _CalF.stopPropagation);document.body.appendChild(container);},// 渲染日期drawDate:function (odate) { // 参数odate 为日期对象格式var dateWarp, titleDate, dd, year, month, date, days, weekStart,i,l,ddHtml=[],textNode;var nowDate = new Date(),nowyear = nowDate.getFullYear(),nowmonth = nowDate.getMonth(),nowdate = nowDate.getDate();this.dateWarp = dateWarp = document.createElement('div');dateWarp.className = 'calendar';dateWarp.innerHTML = this._template.join('');this.year = year = odate.getFullYear();this.month = month = odate.getMonth()+1;this.date = date = odate.getDate();this.titleDate = titleDate = _CalF.$('.title-date', dateWarp)[0];// 是否显示SELECTif(this.isSelect){var selectHtmls =[];selectHtmls.push('<select>');for(i = 2020;i>1970;i--){if(i != this.year){selectHtmls.push('<option value ="'+ i +'">'+ i +'</option>');}else{selectHtmls.push('<option value ="'+ i +'" selected>'+ i +'</option>');}}selectHtmls.push('</select>');selectHtmls.push('年');selectHtmls.push('<select>');for(i = 1;i<13;i++){if(i != this.month){selectHtmls.push('<option value ="'+ i +'">'+ i +'</option>');}else{selectHtmls.push('<option value ="'+ i +'" selected>'+ i +'</option>');}}selectHtmls.push('</select>');selectHtmls.push('月');titleDate.innerHTML = selectHtmls.join('');// 绑定change事件this.selectChange();}else{textNode = document.createTextNode(year + '年' + month + '月');titleDate.appendChild(textNode);this.btnEvent();}// 获取模板中唯一的DD元素this.dd = dd = _CalF.$('dd',dateWarp)[0];// 获取本月天数days = new Date(year, month, 0).getDate();// 获取本月第一天是星期几weekStart = new Date(year, month-1,1).getDay();// 开头显示空白段for (i = 0; i < weekStart; i++) {ddHtml.push('<a>&nbsp;</a>');}// 循环显示日期for (i = 1; i <= days; i++) {if (year < nowyear) {ddHtml.push('<a class="live disabled">' + i + '</a>');} else if (year == nowyear) {if (month < nowmonth + 1) {ddHtml.push('<a class="live disabled">' + i + '</a>');} else if (month == nowmonth + 1) {if (i < nowdate) ddHtml.push('<a class="live disabled">' + i + '</a>');if (i == nowdate) ddHtml.push('<a class="live tody">' + i + '</a>');if (i > nowdate) ddHtml.push('<a class="live">' + i + '</a>');} else if (month > nowmonth + 1) {ddHtml.push('<a class="live">' + i + '</a>');}} else if (year > nowyear) {ddHtml.push('<a class="live">' + i + '</a>');}}dd.innerHTML = ddHtml.join('');// 如果存在,则先移除this.removeDate();// 添加this.container.appendChild(dateWarp);// A link事件绑定this.linkOn();// 区域外事件绑定this.outClick();},// SELECT CHANGE 事件selectChange:function(){var selects,yearSelect,monthSelect,that = this;selects = _CalF.$('select',this.titleDate);yearSelect = selects[0];monthSelect = selects[1];_CalF.bind(yearSelect, 'change',function(){var year = yearSelect.value;var month = monthSelect.value;that.drawDate(new Date(year, month-1, that.date));});_CalF.bind(monthSelect, 'change',function(){var year = yearSelect.value;var month = monthSelect.value;that.drawDate(new Date(year, month-1, that.date));})},// 移除日期DIV.calendarremoveDate:function(){var odiv = _CalF.$('.calendar',this.container)[0];if(!!odiv) this.container.removeChild(odiv);},// 上一月,下一月按钮事件btnEvent:function(){var prevyear = _CalF.$('.prevyear',this.dateWarp)[0],prevmonth = _CalF.$('.prevmonth',this.dateWarp)[0],nextyear = _CalF.$('.nextyear',this.dateWarp)[0],nextmonth = _CalF.$('.nextmonth',this.dateWarp)[0],that = this;prevyear.onclick = function(){var idate = new Date(that.year-1, that.month-1, that.date);that.drawDate(idate);};prevmonth.onclick = function(){var idate = new Date(that.year, that.month-2,that.date);that.drawDate(idate);};nextyear.onclick = function(){var idate = new Date(that.year + 1,that.month - 1, that.date);that.drawDate(idate);};nextmonth.onclick = function(){var idate = new Date(that.year , that.month, that.date);that.drawDate(idate);}},// A 的事件linkOn:function(){var links = _CalF.$('.live',this.dd),i,l=links.length,that=this;for(i = 0;i<l;i++){links[i].index = i;links[i].onmouseover = function(){_CalF.addClass("on",links[this.index]);};links[i].onmouseout = function(){_CalF.removeClass("on",links[this.index]);};links[i].onclick = function(){that.date = this.innerHTML;that.input.value = that.year + '-' + that.month + '-' + that.date;that.removeDate();}}},// 表单的事件inputEvent:function(){var that = this;_CalF.bind(this.input, 'focus',function(){that.createContainer();that.drawDate(new Date());});_CalF.bind(this.input, 'click',_CalF.stopPropagation);},// 鼠标在对象区域外点击,移除日期层outClick:function(){var that = this;_CalF.bind(document, 'click',function(){that.removeDate();})}};var myDate1 = new Calender({id:'j_Date1'});var myDate2 = new Calender({id:'j_Date2',isSelect:!0});</script></body></html>。

jcalendar_week用法

jcalendar_week用法

jcalendar_week用法摘要:1.jcalendar_week 简介2.jcalendar_week 基本用法3.jcalendar_week 高级用法4.jcalendar_week 的优点与不足正文:一、jcalendar_week 简介jcalendar_week 是一款基于JavaScript 的日历插件,可用于在网页上展示日历,支持一周、一天、一周第一天等多种视图模式。

该插件可以帮助用户轻松地管理和操作日历,方便用户进行日期相关的操作。

二、jcalendar_week 基本用法1.下载和引入jcalendar_week 插件首先,需要从官方网站或其他可靠来源下载jcalendar_week 插件,并将其引入到HTML 文件中。

2.初始化日历在HTML 文件中的适当位置,编写JavaScript 代码来初始化日历。

需要指定日历的宽度、高度、背景颜色等样式,以及日历的视图模式、日期格式等选项。

3.显示日历通过调用jcalendar_week 的相关方法,可以在网页上显示日历。

常用的方法包括showCalendar() 和showWeek() 等。

三、jcalendar_week 高级用法1.添加事件用户可以通过jcalendar_week 插件在日历上添加各种事件,如会议、任务等。

可以通过调用addEvent() 方法来实现。

2.设置日期范围用户可以通过jcalendar_week 插件设置日历的日期范围,以便在特定时间段内显示日历。

可以通过调用setDateRange() 方法来实现。

3.自定义样式用户可以通过jcalendar_week 插件自定义日历的样式,如更改字体颜色、背景颜色等。

可以通过调用setOption() 方法来实现。

四、jcalendar_week 的优点与不足1.优点jcalendar_week 插件体积小、加载速度快,易于集成到网页中。

同时,它支持多种视图模式和日期格式,功能丰富。

vue-mobile-calendar 例子-概述说明以及解释

vue-mobile-calendar 例子-概述说明以及解释

vue-mobile-calendar 例子-概述说明以及解释1.引言1.1 概述概述部分:Vue-mobile-calendar是一个基于Vue.js框架开发的移动端日历组件。

随着移动互联网的快速发展,移动应用的需求也变得更加多样化和复杂化。

其中,日历功能作为常见的应用场景之一,在许多移动应用程序中至关重要。

本文将介绍Vue.js框架的基本概念和特点,然后重点讨论移动端日历组件的需求。

我们将分析日历组件的功能要求,如日期选择、事件标记、周/月视图切换等,以及日历组件在移动端开发中的重要性和应用场景。

通过阅读本文,读者将了解到如何使用Vue.js框架构建移动端日历组件,并提供实际案例作为参考。

本文的目的在于帮助读者更好地理解Vue.js 框架的应用,并为移动应用程序开发者提供一种快速构建移动端日历功能的解决方案。

在接下来的章节中,我们将详细介绍Vue.js框架的特点和优势,以及移动端日历组件的需求和实现方式。

结合实际代码示例,我们将演示如何使用Vue.js框架构建一个功能完善且用户友好的移动端日历组件。

希望通过本文的介绍,读者能够对Vue.js框架有一个全面的了解,并从实际的例子中学习到如何开发移动端日历组件。

无论是初学者还是有一定经验的开发者,都能够从本文中获得有益的知识和经验,为自己的项目开发和技术提升提供参考。

文章结构是指文章的整体组织框架和布局方式。

它是文章的骨架,决定了文章的条理清晰度和逻辑性,使读者能够更好地理解和掌握文章的内容。

以下是对文章结构部分的内容的编写:1.2 文章结构文章将按照以下结构展开:引言:本节介绍文章的引言部分,包括对文章主题的概述、文章结构的说明以及文章的目的和意义。

通过引言部分,读者将对整篇文章有一个整体的了解和把握。

正文:本节将详细介绍Vue.js的简介和移动端日历组件的需求。

其中,对Vue.js进行简要描述,包括其背景、特点和应用场景等,以便读者对Vue.js有一个初步的了解。

js 农历算法原理

js 农历算法原理

JavaScript中的农历算法主要依据中国农历的计算方法,包括以下几个关键部分:
1. 公历转农历:将公历日期(格里高利历)转换成农历日期。

这个过程涉及到格里高利历与农历的转换公式,包括农历年份、农历月份、农历日期等。

2. 农历日期计算:农历日期计算主要包括农历日期的天干地支、农历节气、农历干支纪年等。

通过这些信息,可以确定农历日期的一些特性,如是否是闰年、农历月份的天数等。

3. 农历月份计算:农历月份的计算涉及到农历月份的天数、农历闰月的规则等。

通过这些规则,可以计算出农历月份的天数和农历闰月的位置。

4. 农历年份计算:农历年份的计算主要涉及到农历年份的天干地支、农历年份与农历月份的关系等。

通过这些信息,可以确定农历年份的一些特性,如是否是闰年、农历年份的天数等。

5. 农历节气计算:农历节气是中国传统历法中的重要概念,用于指导农业生产、生活等。

通过农历节气的计算,可以确定农历日期对应的节气信息。

在JavaScript中,农历算法的实现主要通过编写相应的函数,将公历日期转换成农历日期,并根据农历日期进行相关的计算。

这些函数通常会使用一些变量存储农历年份、农历月份等信息,并根据这些信息进行相应的计算和处理。

jquery calendar的使用方法

jquery calendar的使用方法

jquery calendar的使用方法使用jQuery Calendar的方法jQuery Calendar是一个常用的日历插件,它为网页提供了一个用户友好的日期选择功能。

通过简单的几步,你可以轻松地在你的网页中使用jQuery Calendar。

首先,你需要在你的网页中引入jQuery和jQuery Calendar的代码库。

你可以在jQuery官方网站上下载最新版本的jQuery,然后将它引入到你的网页中,例如:```html<script src="path/to/jquery.min.js"></script>```接下来,你需要下载jQuery Calendar插件,并将它引入到你的网页中。

你可以在官方网站上找到jQuery Calendar的下载链接,然后将它引入到你的网页中,例如:```html<script src="path/to/jquery.calendar.js"></script>```然后,在你的HTML文件中添加一个用于显示日期的元素,例如:```html<input type="text" id="datePicker">```接下来,使用jQuery选择器选择你的日期输入框,并在其上调用`.calendar()`方法,例如:```html<script>$(document).ready(function(){$('#datePicker').calendar();});</script>```现在,你的日期输入框将会显示一个日历图标。

当用户点击图标时,一个日历会在页面上弹出,用户可以选择日期并将其填入输入框中。

除了基本的使用方法外,你还可以根据需要自定义jQuery Calendar的外观和行为。

FullCalendar日历插件说明文档

FullCalendar日历插件说明文档

FullCalendar日历插件说明文档普通显示设置属性描述默认值header 设置日历头部信息。

如果设置为false,则不显示头部信息。

包括left,center,right左中右三个位置,每个位置都可以对应以下不同的配置:title: 显示当前月份/周/日信息prev: 用于切换到上一月/周/日视图的按钮next: 用于切换到下一月/周/日视图的按钮prevYear:用于切换到上一年视图的按钮nextYear:用于切换到下一年视图的按钮{left:'title',center: '',right:'todayprev,next'}theme 是否允许使用jquery的ui主题,如果设置为true,则需要加载jquery ui相关css和js文件。

查看演示falsebuttonIcons 设置header中使用的prev, next等变量对应按钮的样式,只有当theme为true时才有效,如果你调用了jQuery ui样式但又不想使用它的图标样式,可以将此属性设置为false{ prev:'circle-triangle-w', next:'circle-triangle-e' }firstDay 设置一周中显示的第一天是哪天,周日是0,周一是1,类推。

isRTL 设置为ture时则日历从右往左显示,貌似是针对阿拉伯人设计的。

falseweekends 是否显示周末,设为false则不显示周六和周日。

truehiddenDays 隐藏一周中的某一天或某几天,数组形式,如隐藏周二和周五:[2,5],默认不隐藏,除非weekends设置为false。

[]weekMode 在月视图里显示周的模式,因为每月周数可能不同,所以月视图高度不一定。

fixed:固定显示6周高,日历高度保持不变liquid:不固定周数,高度随周数变化variable:不固定周数,但高度固定'fixed'weekNumbers 是否在日历中显示周次(一年中的第几周),如果设置为true,则会在月视图的false左侧、周视图和日视图的左上角显示周数。

js日历控件

js日历控件

js⽇历控件document.write("<div id='meizzCalendarLayer' style='POSITION: absolute; z-index: 9999; width: 144px; height: 210px; display: none'>"); document.write("<iframe name=meizzCalendarIframe scrolling=no frameborder=0 width=100% height=100%></iframe></div>"); function document.onclick(){if(WebCalendar.eventSrc != window.event.srcElement) hiddenCalendar();}var WebCalendar = new WebCalendar();function WebCalendar() //初始化⽇历的设置{this.regInfo = "梅花⾬⽇历控件3.1(修正:⽔边) 关闭的快捷键:[Esc]";this.dayShow = 38; //定义页⾯上要显⽰的天数,不能⼩于35,或⼤于39this.daysMonth = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);//定义1~12⽉的天数this.day = new Array(this.dayShow); //定义⽇历展⽰⽤的数组this.dayObj = new Array(this.dayShow); //定义⽇期展⽰控件数组this.dateStyle = null; //保存格式化后⽇期数组this.objExport = null; //⽇历回传的显⽰控件this.eventSrc = null; //⽇历显⽰的触发控件this.inputDate = null; //转化外的输⼊的⽇期(d/m/yyyy)this.thisYear = new Date().getFullYear(); //定义年的变量的初始值this.thisMonth = new Date().getMonth()+ 1; //定义⽉的变量的初始值this.thisDay = new Date().getDate(); //定义⽇的变量的初始值this.today = this.thisDay +"/"+ this.thisMonth +"/"+ this.thisYear; //今天(d/m/yyyy)this.iframe = window.frames("meizzCalendarIframe"); //⽇历的 iframe 载体this.calendar = getObjectById("meizzCalendarLayer"); //⽇历的层this.dateReg = ""; //⽇历格式验证的正则式this.yearFall = 50; //定义显⽰的年份下拉框的年差值,如果今年是2000年,这⾥设置为50,就显⽰1950-2050this.format = "yyyy-mm-dd"; //回传⽇期的格式this.timeShow = false; //是否返回时间this.drag = true; //是否允许拖动this.darkColor = "#95B7F3"; //控件的暗⾊this.lightColor = "#FFFFFF"; //控件的亮⾊this.btnBgColor = "#E6E6FA"; //控件的按钮背景⾊this.wordColor = "#000080"; //控件的⽂字颜⾊this.wordDark = "#DCDCDC"; //控件的暗⽂字颜⾊this.dayBgColor = "#F5F5FA"; //⽇期数字背景⾊this.todayColor = "#FF0000"; //今天在⽇历上的标⽰背景⾊this.DarkBorder = "#D4D0C8"; //⽇期显⽰的⽴体表达⾊}function writeIframe(){var strIframe = "<html><head><meta http-equiv='Content-Type' content='text/html; charset=gb2312'><style>"+"*{font-size: 12px; font-family: 宋体}"+".bg{ color: "+ WebCalendar.lightColor +"; cursor: default; background-color: "+ WebCalendar.darkColor +";}"+"table#tableMain{ width: 142; height: 180;}"+"table#tableWeek td{ width:14%;color: "+ WebCalendar.lightColor +";}"+"table#tableDay td{ width:14%;font-weight: bold;}"+"td#meizzYearHead, td#meizzYearMonth{color: "+ WebCalendar.wordColor +"}"+".out { text-align: center; border-top: 1px solid "+ WebCalendar.DarkBorder +"; border-left: 1px solid "+ WebCalendar.DarkBorder +";"+ "border-right: 1px solid "+ WebCalendar.lightColor +"; border-bottom: 1px solid "+ WebCalendar.lightColor +";}"+".over{ text-align: center; border-top: 1px solid #FFFFFF; border-left: 1px solid #FFFFFF;"+"border-bottom: 1px solid "+ WebCalendar.DarkBorder +"; border-right: 1px solid "+ WebCalendar.DarkBorder +"}"+"input{ border: 1px solid "+ WebCalendar.darkColor +"; padding-top: 1px; height: 18; cursor: hand;"+" color:"+ WebCalendar.wordColor +"; background-color: "+ WebCalendar.btnBgColor +"}"+"</style></head><body onselectstart='return false' style='margin: 0px' oncontextmenu='return false'><form name=meizz>";if (WebCalendar.drag){ strIframe += "<scr"+"ipt language=javascript>"+"var drag=false, cx=0, cy=0, o = parent.WebCalendar.calendar; function document.onmousemove(){"+"if(parent.WebCalendar.drag && drag){if(o.style.left=='')o.style.left=0; if(o.style.top=='')o.style.top=0;"+"o.style.left = parseInt(o.style.left) + window.event.clientX-cx;"+"o.style.top = parseInt(o.style.top) + window.event.clientY-cy;}}"+"function document.onkeydown(){ switch(window.event.keyCode){ case 27 : parent.hiddenCalendar(); break;"+"case 37 : parent.prevM(); break; case 38 : parent.prevY(); break; case 39 : parent.nextM(); break; case 40 : parent.nextY(); break;"+"case 84 : document.forms[0].today.click(); break;} window.event.keyCode = 0; window.event.returnValue= false;}"+"function dragStart(){cx=window.event.clientX; cy=window.event.clientY; drag=true;}</scr"+"ipt>"}strIframe += "<select name=tmpYearSelect onblur='parent.hiddenSelect(this)' style='z-index:1;position:absolute;top:3;left:18;display:none'"+" onchange='parent.WebCalendar.thisYear =this.value; parent.hiddenSelect(this); parent.writeCalendar();'></select>"+"<select name=tmpMonthSelect onblur='parent.hiddenSelect(this)' style='z-index:1; position:absolute;top:3;left:74;display:none'"+" onchange='parent.WebCalendar.thisMonth=this.value; parent.hiddenSelect(this); parent.writeCalendar();'></select>"+"<table id=tableMain class=bg border=0 cellspacing=2 cellpadding=0>"+"<tr><td width=140 height=19 bgcolor='"+ WebCalendar.lightColor +"'>"+" <table width=140 id=tableHead border=0 cellspacing=1 cellpadding=0><tr align=center>"+" <td width=15 height=19 class=bg title='向前翻 1 ⽉快捷键:←' style='cursor: hand' onclick='parent.prevM()'><b>&lt;</b></td>"+" <td width=60 id=meizzYearHead title='点击此处选择年份' onclick='parent.funYearSelect(parseInt(this.innerText, 10))'"+" onmouseover='this.bgColor=parent.WebCalendar.darkColor; this.style.color=parent.WebCalendar.lightColor'"+" onmouseout='this.bgColor=parent.WebCalendar.lightColor; this.style.color=parent.WebCalendar.wordColor'></td>"+" <td width=50 id=meizzYearMonth title='点击此处选择⽉份' onclick='parent.funMonthSelect(parseInt(this.innerText, 10))'"+" onmouseover='this.bgColor=parent.WebCalendar.darkColor; this.style.color=parent.WebCalendar.lightColor'"+" onmouseout='this.bgColor=parent.WebCalendar.lightColor; this.style.color=parent.WebCalendar.wordColor'></td>"+" <td width=15 class=bg title='向后翻 1 ⽉快捷键:→' onclick='parent.nextM()' style='cursor: hand'><b>&gt;</b></td></tr></table>"+ "</td></tr><tr><td height=20><table id=tableWeek border=1 width=140 cellpadding=0 cellspacing=0 ";if(WebCalendar.drag){strIframe += "onmousedown='dragStart()' onmouseup='drag=false' onmouseout='drag=false'";}strIframe += " borderColorLight='"+ WebCalendar.darkColor +"' borderColorDark='"+ WebCalendar.lightColor +"'>"+" <tr align=center><td height=20>⽇</td><td>⼀</td><td>⼆</td><td>三</td><td>四</td><td>五</td><td>六</td></tr></table>"+"</td></tr><tr><td valign=top width=140 bgcolor='"+ WebCalendar.lightColor +"'>"+" <table id=tableDay height=120 width=140 border=0 cellspacing=1 cellpadding=0>";for(var x=0; x<5; x++){strIframe += "<tr>";for(var y=0; y<7; y++)strIframe += "<td class=out id='meizzDay"+ (x*7+y) +"'></td>";strIframe += "</tr>";}strIframe += "<tr>";for(var x=35; x<WebCalendar.dayShow; x++)strIframe += "<td class=out id='meizzDay"+ x +"'></td>";strIframe +="<td colspan="+(42-WebCalendar.dayShow).toString()+" class=out style='text-align:center;' title='"+ WebCalendar.regInfo +"'>" +"<input style=' background-color: " + WebCalendar.btnBgColor +";cursor: hand; padding-top: 2px; width: 44%; height: 100%;' onfocus='this.blur()'"+" type=button value='清空' onclick='parent.WebCalendar.objExport.value=\"\";parent.hiddenCalendar()'>" +"&nbsp;" +"<input style=' background-color: " + WebCalendar.btnBgColor +";cursor: hand; padding-top: 2px; width: 44%; height: 100%;' onfocus='this.blur()'"+" type=button value='关闭' onclick='parent.hiddenCalendar()'>" +"</td></tr></table>"+"</td></tr><tr><td height=20 width=140 bgcolor='"+ WebCalendar.lightColor +"'>"+" <table border=0 cellpadding=1 cellspacing=0 width=140>"+" <tr><td><input name=prevYear title='向前翻 1 年快捷键:↑' onclick='parent.prevY()' type=button value='&lt;&lt;'"+" onfocus='this.blur()' style='meizz:expression(this.disabled=parent.WebCalendar.thisYear==1000)'><input"+" onfocus='this.blur()' name=prevMonth title='向前翻 1 ⽉快捷键:←' onclick='parent.prevM()' type=button value='&lt;&nbsp;'>"+" </td><td align=center><input name=today type=button value='Today' onfocus='this.blur()' style='width: 50' title='当前⽇期快捷键:T'"+" onclick=\"parent.returnDate(new Date().getDate() +'/'+ (new Date().getMonth() +1) +'/'+ new Date().getFullYear())\">"+" </td><td align=right><input title='向后翻 1 ⽉快捷键:→' name=nextMonth onclick='parent.nextM()' type=buttonvalue='&nbsp;&gt;'"+" onfocus='this.blur()'><input name=nextYear title='向后翻 1 年快捷键:↓' onclick='parent.nextY()' type=button value='&gt;&gt;'"+" onfocus='this.blur()' style='meizz:expression(this.disabled=parent.WebCalendar.thisYear==9999)'></td></tr></table>"+"</td></tr><table></form></body></html>";with(WebCalendar.iframe){document.writeln(strIframe); document.close();for(var i=0; i<WebCalendar.dayShow; i++){WebCalendar.dayObj[i] = eval("meizzDay"+ i);WebCalendar.dayObj[i].onmouseover = dayMouseOver;WebCalendar.dayObj[i].onmouseout = dayMouseOut;WebCalendar.dayObj[i].onclick = returnDate;}}}function calendar() //主调函数{var e = window.event.srcElement; writeIframe();var o = WebCalendar.calendar.style; WebCalendar.eventSrc = e;if (arguments.length == 0) WebCalendar.objExport = e;else WebCalendar.objExport = eval(arguments[0]);WebCalendar.iframe.tableWeek.style.cursor = WebCalendar.drag ? "move" : "default";var t = e.offsetTop, h = e.clientHeight, l = e.offsetLeft, p = e.type;while (e = e.offsetParent){t += e.offsetTop; l += e.offsetLeft;}o.display = ""; WebCalendar.iframe.document.body.focus();var cw = WebCalendar.calendar.clientWidth, ch = WebCalendar.calendar.clientHeight;var dw = document.body.clientWidth, dl = document.body.scrollLeft, dt = document.body.scrollTop;if (document.body.clientHeight + dt - t - h >= ch) o.top = (p=="image")? t + h : t + h + 6;else o.top = (t - dt < ch) ? ((p=="image")? t + h : t + h + 6) : t - ch;if (dw + dl - l >= cw) o.left = l; else o.left = (dw >= cw) ? dw - cw + dl : dl;if (!WebCalendar.timeShow) WebCalendar.dateReg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/;else WebCalendar.dateReg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;try{if (WebCalendar.objExport.value.trim() != ""){WebCalendar.dateStyle = WebCalendar.objExport.value.trim().match(WebCalendar.dateReg);if (WebCalendar.dateStyle == null){WebCalendar.thisYear = new Date().getFullYear();WebCalendar.thisMonth = new Date().getMonth()+ 1;WebCalendar.thisDay = new Date().getDate();alert("原⽂本框⾥的⽇期有错误!\n可能与你定义的显⽰时分秒有冲突!");writeCalendar(); return false;}else{WebCalendar.thisYear = parseInt(WebCalendar.dateStyle[1], 10);WebCalendar.thisMonth = parseInt(WebCalendar.dateStyle[3], 10);WebCalendar.thisDay = parseInt(WebCalendar.dateStyle[4], 10);WebCalendar.inputDate = parseInt(WebCalendar.thisDay, 10) +"/"+ parseInt(WebCalendar.thisMonth, 10) +"/"+ parseInt(WebCalendar.thisYear, 10); writeCalendar();}} else writeCalendar();} catch(e){writeCalendar();}}function funMonthSelect() //⽉份的下拉框{var m = isNaN(parseInt(WebCalendar.thisMonth, 10)) ? new Date().getMonth() + 1 : parseInt(WebCalendar.thisMonth); var e = WebCalendar.iframe.document.forms[0].tmpMonthSelect;for (var i=1; i<13; i++) e.options.add(new Option(i +"⽉", i));e.style.display = ""; e.value = m; e.focus(); window.status = e.style.top;}function funYearSelect() //年份的下拉框{var n = WebCalendar.yearFall;var e = WebCalendar.iframe.document.forms[0].tmpYearSelect;var y = isNaN(parseInt(WebCalendar.thisYear, 10)) ? new Date().getFullYear() : parseInt(WebCalendar.thisYear);y = (y <= 1000)? 1000 : ((y >= 9999)? 9999 : y);var min = (y - n >= 1000) ? y - n : 1000;var max = (y + n <= 9999) ? y + n : 9999;min = (max == 9999) ? max-n*2 : min;max = (min == 1000) ? min+n*2 : max;for (var i=min; i<=max; i++) e.options.add(new Option(i +"年", i));e.style.display = ""; e.value = y; e.focus();}function prevM() //往前翻⽉份{WebCalendar.thisDay = 1;if (WebCalendar.thisMonth==1){WebCalendar.thisYear--;WebCalendar.thisMonth=13;}WebCalendar.thisMonth--; writeCalendar();}function nextM() //往后翻⽉份{WebCalendar.thisDay = 1;if (WebCalendar.thisMonth==12){WebCalendar.thisYear++;WebCalendar.thisMonth=0;}WebCalendar.thisMonth++; writeCalendar();}function prevY(){WebCalendar.thisDay = 1; WebCalendar.thisYear--; writeCalendar();}//往前翻 Year function nextY(){WebCalendar.thisDay = 1; WebCalendar.thisYear++; writeCalendar();}//往后翻 Year function hiddenSelect(e){for(var i=e.options.length; i>-1; i--)e.options.remove(i); e.style.display="none";} function getObjectById(id){ if(document.all) return(eval("document.all."+ id)); return(eval(id)); } function hiddenCalendar(){getObjectById("meizzCalendarLayer").style.display = "none";};function appendZero(n){return(("00"+ n).substr(("00"+ n).length-2));}//⽇期⾃动补零程序function String.prototype.trim(){return this.replace(/(^\s*)|(\s*$)/g,"");}function dayMouseOver(){this.className = "over";this.style.backgroundColor = WebCalendar.darkColor;if(WebCalendar.day[this.id.substr(8)].split("/")[1] == WebCalendar.thisMonth)this.style.color = WebCalendar.lightColor;}function dayMouseOut(){this.className = "out"; var d = WebCalendar.day[this.id.substr(8)], a = d.split("/");this.style.removeAttribute('backgroundColor');if(a[1] == WebCalendar.thisMonth && d != WebCalendar.today){if(WebCalendar.dateStyle && a[0] == parseInt(WebCalendar.dateStyle[4], 10))this.style.color = WebCalendar.lightColor;this.style.color = WebCalendar.wordColor;}}function writeCalendar() //对⽇历显⽰的数据的处理程序{var y = WebCalendar.thisYear;var m = WebCalendar.thisMonth;var d = WebCalendar.thisDay;WebCalendar.daysMonth[1] = (0==y%4 && (y%100!=0 || y%400==0)) ? 29 : 28;if (!(y<=9999 && y >= 1000 && parseInt(m, 10)>0 && parseInt(m, 10)<13 && parseInt(d, 10)>0)){alert("对不起,你输⼊了错误的⽇期!");WebCalendar.thisYear = new Date().getFullYear();WebCalendar.thisMonth = new Date().getMonth()+ 1;WebCalendar.thisDay = new Date().getDate(); }y = WebCalendar.thisYear;m = WebCalendar.thisMonth;d = WebCalendar.thisDay;WebCalendar.iframe.meizzYearHead.innerText = y +" 年";WebCalendar.iframe.meizzYearMonth.innerText = parseInt(m, 10) +" ⽉";WebCalendar.daysMonth[1] = (0==y%4 && (y%100!=0 || y%400==0)) ? 29 : 28; //闰年⼆⽉为29天var w = new Date(y, m-1, 1).getDay();var prevDays = m==1 ? WebCalendar.daysMonth[11] : WebCalendar.daysMonth[m-2];for(var i=(w-1); i>=0; i--) //这三个 for 循环为⽇历赋数据源(数组 WebCalendar.day)格式是 d/m/yyyy {WebCalendar.day[i] = prevDays +"/"+ (parseInt(m, 10)-1) +"/"+ y;if(m==1) WebCalendar.day[i] = prevDays +"/"+ 12 +"/"+ (parseInt(y, 10)-1);prevDays--;}for(var i=1; i<=WebCalendar.daysMonth[m-1]; i++) WebCalendar.day[i+w-1] = i +"/"+ m +"/"+ y;for(var i=1; i<WebCalendar.dayShow-w-WebCalendar.daysMonth[m-1]+1; i++){WebCalendar.day[WebCalendar.daysMonth[m-1]+w-1+i] = i +"/"+ (parseInt(m, 10)+1) +"/"+ y;if(m==12) WebCalendar.day[WebCalendar.daysMonth[m-1]+w-1+i] = i +"/"+ 1 +"/"+ (parseInt(y, 10)+1);}for(var i=0; i<WebCalendar.dayShow; i++) //这个循环是根据源数组写到⽇历⾥显⽰{var a = WebCalendar.day[i].split("/");WebCalendar.dayObj[i].innerText = a[0];WebCalendar.dayObj[i].title = a[2] +"-"+ appendZero(a[1]) +"-"+ appendZero(a[0]);WebCalendar.dayObj[i].bgColor = WebCalendar.dayBgColor;WebCalendar.dayObj[i].style.color = WebCalendar.wordColor;if ((i<10 && parseInt(WebCalendar.day[i], 10)>20) || (i>27 && parseInt(WebCalendar.day[i], 10)<12))WebCalendar.dayObj[i].style.color = WebCalendar.wordDark;if (WebCalendar.inputDate==WebCalendar.day[i]) //设置输⼊框⾥的⽇期在⽇历上的颜⾊{WebCalendar.dayObj[i].bgColor = WebCalendar.darkColor; WebCalendar.dayObj[i].style.color = WebCalendar.lightColor;} if (WebCalendar.day[i] == WebCalendar.today) //设置今天在⽇历上反应出来的颜⾊{WebCalendar.dayObj[i].bgColor = WebCalendar.todayColor; WebCalendar.dayObj[i].style.color = WebCalendar.lightColor;} }}function returnDate() //根据⽇期格式等返回⽤户选定的⽇期{if(WebCalendar.objExport){var returnValue;var a = (arguments.length==0) ? WebCalendar.day[this.id.substr(8)].split("/") : arguments[0].split("/");var d = WebCalendar.format.match(/^(\w{4})(-|\/)(\w{1,2})\2(\w{1,2})$/);if(d==null){alert("你设定的⽇期输出格式不对!\r\n\r\n请重新定义 WebCalendar.format !"); return false;}var flag = d[3].length==2 || d[4].length==2; //判断返回的⽇期格式是否要补零returnValue = flag ? a[2] +d[2]+ appendZero(a[1]) +d[2]+ appendZero(a[0]) : a[2] +d[2]+ a[1] +d[2]+ a[0];if(WebCalendar.timeShow){var h = new Date().getHours(), m = new Date().getMinutes(), s = new Date().getSeconds();returnValue += flag ? " "+ appendZero(h) +":"+ appendZero(m) +":"+ appendZero(s) : " "+ h +":"+ m +":"+ s;}WebCalendar.objExport.value = returnValue;hiddenCalendar();}}-------将上⾯的保存到⼀个JS⽂件中,采⽤UTF-8编码---------------------------调⽤------------------<script language=javascript src="/JS/calendar.js"></script><input name="s1" type="text" onfocus="calendar()" value='<%=date %>' />。

JS日期和时间选择控件

JS日期和时间选择控件
}
tiannetPopCalendar();
}
//用户主调函数-选择日期和小时及分钟
function setDayHM(obj){
tiannetOutObject = obj;
m_bolShowHour = true;
m_bolShowMinute = true;
//如果标签中有值,则将日期和小时及分钟初始化为当前值
// ---------------------- 用户可调用的函数 -----------------------------//
//用户主调函数-只选择日期
function setDay(obj){
tiannetOutObject = obj;
//如果标签中有值,则将日期初始化为当前值
tiannetYearSt = intDateBeg;
tiannetYearEnd = intDateEnd;
}
//设置日期分隔符。默认为"-"
function setDateSplit(strDateSplit){
tiannetDateSplit = strDateSplit;
}
* (4)设置(1),(2),(3)中的分隔符 setSplit(strDateSplit,strDateTimeSplit,strTimeSplit);
* (5)设置开始和结束年份 setYearPeriod(intDateBeg,intDateEnd)
*说明:
* 默认返回的日期时间格式如同:2005-02-02 08:08
var tiannetDateSplit = "-"; //日期的分隔符号

tui-calendar使用手册

tui-calendar使用手册

《tui-calendar使用手册:深度指南》一、前言在当今信息爆炸的时代,人们的生活节奏越来越快,时间管理成为了一门必不可少的技能。

在这样的背景下,日程安排和时间规划变得异常重要。

而为了更好地管理日程安排,一款优秀的日历工具显得尤为重要。

在诸多日历工具中,tui-calendar作为一款功能强大、界面友好的日历组件,备受广大用户的喜爱。

本文将带领大家深入探讨tui-calendar的使用手册,希望能够帮助大家更好地掌握这款强大的日历工具。

二、tui-calendar概述在进入具体的使用手册之前,让我们先来了解一下tui-calendar。

tui-calendar是一款基于JavaScript的开源日历组件,具有丰富的功能和高度的灵活性,可以满足各种复杂的日程管理需求。

它提供了丰富的API和配置选项,使得用户可以根据自己的需求来定制日历的展示样式和功能模块。

无论是个人用户、团队还是企业,都可以通过tui-calendar来管理自己的日程安排,提高工作效率和生活质量。

三、基础功能使用1. 安装与引入要使用tui-calendar,首先需要将其安装并引入到项目中。

可以通过npm或者直接下载源代码的方式来获取tui-calendar,然后在项目中进行引入。

接下来,按照官方文档提供的步骤进行初始化和配置,即可轻松地在项目中使用tui-calendar的基础功能了。

2. 基本视图展示tui-calendar提供了多种不同的视图模式,包括日视图、周视图、月视图等,用户可以根据自己的喜好和需求来切换不同的视图展示方式。

还可以自定义视图的展示样式和内容,以满足特定的业务需求。

3. 事件管理通过tui-calendar,用户可以方便地添加、编辑和删除日程事件。

在日历中,用户可以以不同的方式标识事件的重要程度、紧急程度等信息,以便更好地管理自己的日程安排。

四、高级功能进阶1. 自定义样式tui-calendar支持用户自定义日历的样式和主题,可以通过自定义CSS样式或者配置选项来实现。

vant calendar默认范围

vant calendar默认范围

Vant是一个基于Vue.js的移动端组件库,其中的Calendar组件是非常常用的日历选择组件。

在使用Vant的Calendar组件时,默认情况下会显示一个范围选择功能,即用户可以通过拖动选择起始日期和结束日期来选择一个日期范围。

下面将分为四个部分来详细介绍Vant Calendar默认范围的相关内容。

一、Vant Calendar组件概述Vant Calendar组件是一个非常实用的日历选择组件,可以在移动端项目中方便地实现日期的选择功能。

该组件具有丰富的功能和灵活的配置项,在实际开发中被广泛应用。

二、Vant Calendar默认范围的功能介绍1. 默认情况下,Vant Calendar组件会显示一个范围选择功能,用户可以通过拖动选择起始日期和结束日期来选择一个日期范围。

2. 用户可以在范围选择模式下,灵活选择起始日期和结束日期,方便实现各种日期范围选择的需求。

三、Vant Calendar默认范围的使用方法1. 在使用Vant Calendar组件时,默认情况下即可实现范围选择功能,无需特别的配置。

2. 开发者可以根据具体的需求,通过配置组件的属性和事件来对范围选择功能进行进一步的定制化。

四、Vant Calendar默认范围的配置项1. Vant Calendar组件提供了丰富的配置项,包括起始日期、结束日期、日期格式、日期选项等。

开发者可以根据具体的需求,灵活配置这些选项来实现定制化的范围选择功能。

2. 开发者可以通过监听组件的事件来实现在范围选择发生变化时的相应操作,从而增强用户体验。

总结:Vant Calendar组件的默认范围选择功能是非常实用的,可以帮助开发者快速实现日历范围的选择功能,提升用户体验。

在实际开发中,开发者可以根据具体的需求对组件进行进一步的定制化,实现更加丰富的功能和更好的用户交互体验。

Vant Calendar组件将会在移动端项目中发挥重要作用。

扩展内容:五、Vant Calendar默认范围的实际应用1. 在实际的移动端项目中,Vant Calendar默认范围的功能可以被广泛应用于预订系统、行程安排、活动日程等场景中。

fullcalendar的gotodate使用

fullcalendar的gotodate使用

fullcalendar的gotodate使用FullCalendar是一个用于创建交互式日历的JavaScript插件。

它提供了许多强大的功能,其中之一就是goToDate方法。

goToDate方法可以用来使日历跳转到指定的日期。

goToDate方法可以接受三种不同的参数类型来指定日期:字符串形式的日期、JavaScript日期对象和Moment.js日期对象。

首先,我们来看看如何使用字符串形式的日期作为参数。

例如,我们可以将“2022-01-01”作为字符串传递给goToDate方法,代码如下:```javascriptlet calendar = new FullCalendar.Calendar(calendarEl, {//配置项});calendar.goToDate('2022-01-01');```这将使日历跳转到2022年1月1日。

其次,我们可以将JavaScript日期对象传递给goToDate方法。

JavaScript日期对象可以通过new Date()构造函数创建,如下所示:```javascriptlet date = new Date(2022, 0, 1); //注意月份是从0开始的,这里的0表示一月calendar.goToDate(date);```这将使日历跳转到2022年1月1日。

最后,我们可以使用Moment.js日期对象作为参数。

Moment.js是一个流行的JavaScript日期库,它提供了强大的日期和时间处理功能。

可以使用moment()函数来创建Moment.js日期对象,代码如下:```javascriptlet momentDate = moment('2022-01-01');calendar.goToDate(momentDate);```这将使日历跳转到2022年1月1日。

除了传递日期参数之外,goToDate方法还接受一个可选的配置对象作为第二个参数。

element ui calendar 单元格样式

element ui calendar 单元格样式

element ui calendar 单元格样式Element UI是一款流行的Vue.js组件库,其中的Calendar(日历)组件提供了丰富的功能和样式定制选项。

在Calendar中,每个日期都是一个单独的单元格,可以根据需求自定义样式。

本篇文章将详细介绍如何使用Element UI的Calendar组件并自定义单元格样式。

第一步,安装Element UI首先,在Vue.js项目中安装Element UI,可以通过npm或yarn进行安装。

在命令行中运行以下命令:# 使用npm安装npm install element-ui -S# 使用yarn安装yarn add element-ui安装完成后,在项目的main.js文件中引入Element UI:javascriptimport Vue from 'vue'import ElementUI from 'element-ui'import 'element-ui/lib/theme-chalk/index.css'e(ElementUI)第二步,创建Calendar组件在Vue.js项目中创建一个Calendar组件,并在组件的模板中添加Calendar组件的标记。

在该组件中,我们将使用Element UI的Calendar组件,并自定义单元格样式。

html<template><div><el-calendar :cell-class-name="getCellClass"></el-calendar></div></template><script>export default {methods: {getCellClass(date) {返回单元格样式类名}}}</script>在上面的代码中,我们使用了`:cell-class-name`属性来指定单元格的样式类名,接下来我们将在`getCellClass`方法中自定义单元格的样式。

javascript实现万年历代码

javascript实现万年历代码

!DOCTYPE HTML PUBLIC -W3CDTD HTML 4.0 TransitionalENHTMLHEADTITLE在线万年历TITLEMETA http-equiv=content-type content=texthtml; charset=gb2312METAcontent=时间; JavaScript 日历;世界时间; 农历; 阳历; 阴历; 节日; 时区; 节气; 干支; 生肖; world time clock; gregorian solar; chinese lunar; calendar;name=keywordsMETA content=General name=RA TINGMETA content=ALL name=ROBOTSMETA content=1 name=REVISITMETA content=0 name=expiresMETA content=no-cache name=PragmaMETA content=no-cache name=Cache-ControlSCRIPT language=JScript!--个人偏好设定var conWeekend = 3; 周末颜色显示1=黑色, 2=绿色, 3=红色, 4=隔周休日期资料var lunarInfo=new Array(0x4bd8,0x4ae0,0xa570,0x54d5,0xd260,0xd950,0x5554,0x56af,0x9ad0,0x55d2,0x4ae0,0xa5b6,0xa4d0,0xd250,0xd255,0xb54f,0xd6a0,0xada2,0x95b0,0x4977,0x497f,0xa4b0,0xb4b5,0x6a50,0x6d40,0xab54,0x2b6f,0x9570,0x52f2,0x4970,0x6566,0xd4a0,0xea50,0x6a95,0x5adf,0x2b60,0x86e3,0x92ef,0xc8d7,0xc95f,0xd4a0,0xd8a6,0xb55f,0x56a0,0xa5b4,0x25df,0x92d0,0xd2b2,0xa950,0xb557,0x6ca0,0xb550,0x5355,0x4daf,0xa5b0,0x4573,0x52bf,0xa9a8,0xe950,0x6aa0,0xaea6,0xab50,0x4b60,0xaae4,0xa570,0x5260,0xf263,0xd950,0x5b57,0x56a0,0x96d0,0x4dd5,0x4ad0,0xa4d0,0xd4d4,0xd250,0xd558,0xb540,0xb6a0,0x95a6,0x95bf,0x49b0,0xa974,0xa4b0,0xb27a,0x6a50,0x6d40,0xaf46,0xab60,0x9570,0x4af5,0x4970,0x64b0,0x74a3,0xea50,0x6b58,0x5ac0,0xab60,0x96d5,0x92e0,0xc960,0xd954,0xd4a0,0xda50,0x7552,0x56a0,0xabb7,0x25d0,0x92d0,0xcab5,0xa950,0xb4a0,0xbaa4,0xad50,0x55d9,0x4ba0,0xa5b0,0x5176,0x52bf,0xa930,0x7954,0x6aa0,0xad50,0x5b52,0x4b60,0xa6e6,0xa4e0,0xd260,0xea65,0xd530,0x5aa0,0x76a3,0x96d0,0x4afb,0x4ad0,0xa4d0,0xd0b6,0xd25f,0xd520,0xdd45,0xb5a0,0x56d0,0x55b2,0x49b0,0xa577,0xa4b0,0xaa50,0xb255,0x6d2f,0xada0,0x4b63,0x937f,0x49f8,0x4970,0x64b0,0x68a6,0xea5f,0x6b20,0xa6c4,0xaaef,0x92e0,0xd2e3,0xc960,0xd557,0xd4a0,0xda50,0x5d55,0x56a0,0xa6d0,0x55d4,0x52d0,0xa9b8,0xa950,0xb4a0,0xb6a6,0xad50,0x55a0,0xaba4,0xa5b0,0x52b0,0xb273,0x6930,0x7337,0x6aa0,0xad50,0x4b55,0x4b6f,0xa570,0x54e4,0xd260,0xe968,0xd520,0xdaa0,0x6aa6,0x56df,0x4ae0,0xa9d4,0xa4d0,0xd150,0xf252,0xd520);var solarMonth=new Array(31,28,31,30,31,30,31,31,30,31,30,31);var Gan=new Array(甲,乙,丙,丁,戊,己,庚,辛,壬,癸);var Zhi=new Array(子,丑,寅,卯,辰,巳,午,未,申,酉,戌,亥);var Animals=new Array(鼠,牛,虎,兔,龙,蛇,马,羊,猴,鸡,狗,猪);var solarTerm = new Array(小寒,大寒,立春,雨水,惊蛰,春分,清明,谷雨,立夏,小满,芒种,夏至,小暑,大暑,立秋,处暑,白露,秋分,寒露,霜降,立冬,小雪,大雪,冬至);var sTermInfo = new Array(0,21208,42467,63836,85337,107014,128867,150921,173149,195551,218072,240693,2633 43,285989,308563,331033,353350,375494,397447,419210,440795,462224,483532,504758);var nStr1 = new Array('日','一','二','三','四','五','六','七','八','九','十');var nStr2 = new Array('初','十','廿','卅','□');var monthName = new Array(JAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC);公历节日表示放假日var sFtv = new Array(0101新年元旦,0202 世界湿地日,0207 国际声援南非日,0210 国际气象节,0214 情人节,0301 国际海豹日,0303 全国爱耳日,0308 国际妇女节,0312 植树节孙中山逝世纪念日,0314 国际警察日,0315 国际消费者权益日,0317 中国国医节国际航海日,0321 世界森林日消除种族歧视国际日,0321 世界儿歌日,0322 世界水日,0323 世界气象日,0324 世界防治结核病日,0325 全国中小学生安全教育日,0330 巴勒斯坦国土日,0401 愚人节全国爱国卫生运动月(四月) 税收宣传月(四月),0407 世界卫生日,0422 世界地球日,0423 世界图书和版权日,0424 亚非新闻工作者日,0501 国际劳动节,0504 中国五四青年节,0505 碘缺乏病防治日,0508 世界红十字日,0512 国际护士节,0515 国际家庭日,0517 世界电信日,0518 国际博物馆日,0520 全国学生营养日,0523 国际牛奶日,0531 世界无烟日,0601 国际儿童节,0605 世界环境日,0606 全国爱眼日,0617 防治荒漠化和干旱日,0623 国际奥林匹克日,0625 全国土地日,0626 国际反毒品日,0701 中国共产党建党日世界建筑日,0702 国际体育记者日精品推介站()正式对外开放纪念日, 0707 中国人民抗日战争纪念日,0711 世界人口日,0730 非洲妇女日,0801 中国建军节,0808 中国男子节(爸爸节),0815 日本正式宣布无条件投降日,0908 国际扫盲日国际新闻工作者日,0910 教师节,0914 世界清洁地球日梅竹松生日^o^,0916 国际臭氧层保护日,0918 九·一八事变纪念日,0920 国际爱牙日,0927 世界旅游日,1001国庆节世界音乐日国际老人节,1001 国际音乐日,1002 国际和平与民主自由斗争日,1004 世界动物日,1008 全国高血压日,1008 世界视觉日,1009 世界邮政日万国邮联日,1010 辛亥革命纪念日世界精神卫生日,1013 世界保健日国际教师节,1014 世界标准日,1015 国际盲人节(白手杖节),1016 世界粮食日,1017 世界消除贫困日,1022 世界传统医药日,1024 联合国日世界发展信息日,1031 世界勤俭日,1107 十月社会主义革命纪念日,1108 中国记者日,1109 全国消防安全宣传教育日,1110 世界青年节,1111 国际科学与和平周(本日所属的一周),1112 孙中山诞辰纪念日,1114 世界糖尿病日,1117 国际大学生节世界学生节,1121 世界问候日世界电视日,1129 国际声援巴勒斯坦人民国际日,1201 世界艾滋病日,1203 世界残疾人日,1205 国际经济和社会发展志愿人员日,1208 国际儿童电视日,1209 世界足球日,1210 世界人权日,1212 西安事变纪念日,1213 南京大屠杀(1937年)纪念日!紧记血泪史!,1221 国际篮球日,1224 平安夜,1225 圣诞节,1229 国际生物多样性日);某月的第几个星期几。

Calendar日历控件使用

Calendar日历控件使用

Calendar⽇历控件使⽤<link rel="stylesheet" href="__STATIC__/js/calendar/calendar-blue.css"/><script src="__STATIC__/js/calendar/calendar.js"></script>⾸先引⼊ calendar.js calendar-blue.css ⽂件下载链接在HTML 的body 标签下1<input type="text" name="time_start" id="J_time_start" class="date" size="12">2 -3<input type="text" name="time_end" id="J_time_end" class="date" size="12">45<script>6 Calendar.setup({7 inputField : "J_time_start",8 ifFormat : "%Y-%m-%d",9 showsTime : false,10 timeFormat : "24"11 });12 Calendar.setup({13 inputField : "J_time_end",14 ifFormat : "%Y-%m-%d",15 showsTime : false,16 timeFormat : "24"17 });18 $('.J_preview').preview(); //查看⼤图19 $('.J_cate_select').cate_select({top_option:lang.all}); //分类联动20 $('.J_tooltip[title]').tooltip({offset:[10, 2], effect:'slide'}).dynamic({bottom:{direction:'down', bounce:true}});21</script>运⾏⼀下吧<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title><link rel="stylesheet" href="__STATIC__/js/calendar/calendar-blue.css"/></head><body><input type="text" name="time_start" id="J_time_start" class="date" size="12">-<input type="text" name="time_end" id="J_time_end" class="date" size="12"><script src="__STATIC__/js/calendar/calendar.js"></script><script>Calendar.setup({inputField : "J_time_start",ifFormat : "%Y-%m-%d",showsTime : false,timeFormat : "24"});Calendar.setup({inputField : "J_time_end",ifFormat : "%Y-%m-%d",showsTime : false,timeFormat : "24"});$('.J_preview').preview(); //查看⼤图$('.J_cate_select').cate_select({top_option:lang.all}); //分类联动$('.J_tooltip[title]').tooltip({offset:[10, 2], effect:'slide'}).dynamic({bottom:{direction:'down', bounce:true}});</script></body></html>效果图如下:如果想要在input 标签右侧出现⼩图标:看下⾯<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title><link rel="stylesheet" href="__STATIC__/js/calendar/calendar-blue.css"/><style type="text/css">input.date,input.endDate{background: #fff url(__STATIC__/css/admin/bgimg/input_date.png) no-repeat right 3px; padding-right:18px;font-size:12px;} </style></head><body><input type="text" name="time_start" id="J_time_start" class="date" size="12" >-<input type="text" name="time_end" id="J_time_end" class="date" size="12" ><script src="__STATIC__/js/calendar/calendar.js"></script><script>Calendar.setup({inputField : "J_time_start",ifFormat : "%Y-%m-%d",showsTime : false,timeFormat : "24"});Calendar.setup({inputField : "J_time_end",ifFormat : "%Y-%m-%d",showsTime : false,timeFormat : "24"});$('.J_preview').preview(); //查看⼤图$('.J_cate_select').cate_select({top_option:lang.all}); //分类联动$('.J_tooltip[title]').tooltip({offset:[10, 2], effect:'slide'}).dynamic({bottom:{direction:'down', bounce:true}});</script></body></html>。

vue-material-year-calendar 中文

vue-material-year-calendar 中文

vue-material-year-calendar 是一个基于Vue.js 的日历组件,支持选择年份和月份。

它是基于Material Design 风格的,因此外观非常美观。

要使用vue-material-year-calendar,首先需要安装它:```bashnpm install vue-material-year-calendar --save```然后在你的Vue.js 项目中引入并注册它:```javascriptimport Vue from 'vue'import VueMaterialYearCalendar from 'vue-material-year-calendar'e(VueMaterialYearCalendar)```接下来,你可以在你的Vue.js 组件中使用`<vue-material-year-calendar>` 标签来显示日历:```html<template><div><vue-material-year-calendar></vue-material-year-calendar></div></template>```默认情况下,vue-material-year-calendar 会显示当前年份和月份。

你可以通过传递一些属性来自定义它的行为和外观,例如:```html<template><div><vue-material-year-calendar :year="2022" @change="onChange"></vue-material-year-calendar></div></template><script>export default {methods: {onChange(date) {console.log('选择的日期是:', date)}}}</script>```。

vue-calendar 案例

vue-calendar 案例

vue-calendar 案例Vue-Calendar是一个基于Vue.js的日历组件,它可以帮助开发者快速构建具有日历功能的网页应用。

以下是关于Vue-Calendar的一些重要特点和用法:1. 可定制化:Vue-Calendar提供了丰富的配置选项,可以根据项目需求进行个性化定制。

开发者可以自定义日历的样式、添加自定义事件和行为等。

2. 日期选择:Vue-Calendar支持日期的选择功能,用户可以通过点击日历中的日期来选取特定的日期。

同时,开发者也可以通过配置选项来设置日期的范围,以及限制用户选择的日期。

3. 事件管理:Vue-Calendar可以轻松管理和展示日历中的事件。

开发者可以在日历上添加事件,设置事件的日期、时间和备注等信息。

同时,Vue-Calendar还支持事件的拖拽和调整功能,方便用户进行事件的管理和操作。

4. 周视图和月视图:Vue-Calendar支持周视图和月视图两种不同的展示模式。

在周视图中,用户可以查看一周内的日程安排,而在月视图中,用户可以一次性查看一个月的日程安排。

开发者可以根据需求选择合适的视图模式。

5. 国际化支持:Vue-Calendar提供了多语言支持,可以根据用户的语言环境自动切换日历的语言。

开发者可以轻松地将日历翻译成不同的语言,以满足不同地区用户的需求。

6. 响应式设计:Vue-Calendar使用Vue.js的响应式设计,可以适应不同的屏幕尺寸和设备类型。

无论是在电脑、平板还是手机上,用户都可以获得良好的日历使用体验。

7. 事件提醒:Vue-Calendar提供了事件提醒功能,用户可以设置事件的提醒时间和方式。

在事件即将发生时,日历会自动发送提醒通知给用户,以帮助用户及时处理重要的日程安排。

8. 节假日显示:Vue-Calendar可以显示节假日信息,用户可以通过配置选项来启用或禁用节假日显示。

开发者可以根据用户所在地区的法定假日规定,来决定是否显示相关信息。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

.CSS µ÷ÓÃÓÚ<head></head>#calendar a:link {color:#464646;text-decoration:none;}#calendar a:visited {color:#464646;text-decoration:none;}#calendar a:hover{color:#ed145b;text-decoration:underline;}#calendar a:active{color:#ed145b;text-decoration:underline;}#calendar td{font-size:12px}/*/*//*DateCSSÑùʽ*/.header {font: 12px Arial, Tahoma !important;font-weight: bold !important;font: 11px Arial, Tahoma;font-weight: bold;color: #154BA0;background:#C2DEED;height: 25px;padding-left: 10px;}.header td {padding-left: 10px;}.header a {color: #154BA0;}.header input {background:none;vertical-align: middle;height: 16px;} .category {font: 12px Arial, Tahoma !important;font: 11px Arial, Tahoma;color: #92A05A;height:20px;background-color: #FFFFD9;}.category td {border-bottom: 1px solid #DEDEB8;}.expire, .expire a:link, .expire a:visited {color: #999999;}.default, .default a:link, .default a:visited {color: #000000;}.checked, .checked a:link, .checked a:visited {color: #FF0000;}.today, .today a:link, .today a:visited {color: #00BB00;}#calendar_year {display: none;line-height: 130%;background: #FFFFFF;position: absolute;z-index: 10;}#calendar_year .col {float: left;background: #FFFFFF;margin-left: 1px;border: 1px solid #86B9D6;padding: 4px;}#calendar_month {display: none;background: #FFFFFF;line-height: 130%;border: 1px solid #86B9D6;padding: 4px;position: absolute;z-index: 11;}.tableborder {background: white;border: 1px solid #86B9D6;}#year,#month{padding-right:10px;}.jsÎļþ<body><!--±ØÐëÔÚbodyÀïµ÷ÓÃ--><script src="/Scripts/calendar.js" language="javascript" type="text/javascript"></script></body>var controlid = null;var currdate = null;var startdate = null;var enddate = null;var yy = null;var mm = null;var hh = null;var ii = null;var currday = null;var addtime = false;var today = new Date();var lastcheckedyear = false;var lastcheckedmonth = false;var ie = navigator.appName == "Microsoft Internet Explorer" ? true : false;function $cla(objID) {return document.getElementById(objID);}function _cancelBubble(event) {e = event ? event : window.event;if (ie) {e.cancelBubble = true;} else {e.stopPropagation();}}function getposition(obj) {var r = new Array();r['x'] = obj.offsetLeft;r['y'] = obj.offsetTop;while (obj = obj.offsetParent) {r['x'] += obj.offsetLeft;r['y'] += obj.offsetTop;}return r;}function loadcalendar() {s = '';s += '<div id="calendar" style="display:none; position:absolute; z-index:9;" onclick="_cancelBubble(event)">';if (ie) {s += '<iframe width="200" height="185" src="about:blank"style="position: absolute;z-index:-1;"></iframe>';}s += '<div style="width: 200px;"><table class="tableborder" cellspacing="0" cellpadding="0" width="100%" style="text-align: center">';s += '<tr align="center" class="header">';s += '<td colspan="1" class="header"><a href="#" onclick="refreshcalendar(yy-1, mm);return false" title="ÉÏÒ»Äê"><<</a>&nbsp;&nbsp;<a href="#" onclick="refreshcalendar(yy, mm-1);return false" title="ÉÏÒ»ÔÂ"><</a></td>';s += '<td colspan="5" style="text-align: center;width:150px" class="header"><a href="#" onclick="showdiv(\'year\');_cancelBubble(event);return false" title="µã»÷Ñ¡ÔñÄê·Ý" id="year"></a><a id="month" title="µã»÷Ñ¡ÔñÔ·Ý" href="#" onclick="showdiv(\'month\');_cancelBubble(event);returnfalse"></a></td>';s += '<td colspan="1" class="header"><A href="#" onclick="refreshcalendar(yy, mm+1);return false" title="ÏÂÒ»ÔÂ">></A>&nbsp;&nbsp;<A href="#" onclick="refreshcalendar(yy+1, mm);return false" title="ÏÂÒ»Äê">>></A></td>';s += '</tr>';s += '<tr class="category"><td>ÈÕ</td><td>Ò»</td><td>¶þ</td><td>Èý</td><td>ËÄ</td><td>Îå</td><td>Áù</td></tr>';for (var i = 0; i < 6; i++) {s += '<tr class="altbg2">';for (var j = 1; j <= 7; j++)s += "<td id=d" + (i * 7 + j) + " height=\"19\">0</td>"; s += "</tr>";}s += '<tr id="hourminute"><td colspan="7" align="center"><input type="text" size="1" value="" id="hour" onKeyUp=\'this.value=this.value > 23 ? 23 : zerofill(this.value);controlid.value=controlid.value.replace(/\\d+ (\:\\d+)/ig, this.value+"$1")\'> µã <input type="text" size="1" value="" id="minute" onKeyUp=\'this.value=this.value > 59 ? 59 : zerofill(this.value);controlid.value=controlid.value.replace(/(\\d +\:)\\d+/ig, "$1"+this.value)\'> ·Ö</td></tr>';s += '<tr class="header"><td colspan="4" align="left"><a href="#"onclick="settoday();return false;">Ñ¡Ôñ½ñÌì</a></td><td align="right" colspan="3"><a href="#" onclick="closecalendar();return false">¹Ø±Õ</a> </td></tr>';s += '</table></div></div>';s += '<div id="calendar_year" onclick="_cancelBubble(event)"><div class="col">';for (var k = 1930; k <= 2019; k++) {s += k != 1930 && k % 10 == 0 ? '</div><div class="col">' : ''; s += '<a href="#" onclick="refreshcalendar(' + k + ', mm);$cla(\'calendar_year\').style.display=\'none\';returnfalse"><span' + (today.getFullYear() == k ? ' class="today"' : '') + ' id="calendar_year_' + k + '">' + k + '</span></a><br />';}s += '</div></div>';s += '<div id="calendar_month" onclick="_cancelBubble(event)">'; for (var k = 1; k <= 12; k++) {s += '<a href="#" onclick="refreshcalendar(yy, ' + (k - 1) + ');$cla(\'calendar_month\').style.display=\'none\';returnfalse"><span' + (today.getMonth() + 1 == k ? ' class="today"' : '') + ' id="calendar_month_' + k + '">' + k + (k < 10 ? ' ' : '') + ' ÔÂ</span></a><br />';}s += '</div>';var nElement = document.createElement("div");nElement.innerHTML = s;document.getElementsByTagName("body")[0].appendChild(nElement); document.onclick = function (event) {$cla('calendar').style.display = 'none';$cla('calendar_year').style.display = 'none';$cla('calendar_month').style.display = 'none';}$cla('calendar').onclick = function (event) {_cancelBubble(event);$cla('calendar_year').style.display = 'none';$cla('calendar_month').style.display = 'none';}}function parsedate(s) {/(\d+)\-(\d+)\-(\d+)\s*(\d*):?(\d*)/.exec(s);var m1 = (RegExp.$1 && RegExp.$1 > 1899 && RegExp.$1 < 2101) ? parseFloat(RegExp.$1) : today.getFullYear();var m2 = (RegExp.$2 && (RegExp.$2 > 0 && RegExp.$2 < 13)) ? parseFloat(RegExp.$2) : today.getMonth() + 1;var m3 = (RegExp.$3 && (RegExp.$3 > 0 && RegExp.$3 < 32)) ?parseFloat(RegExp.$3) : today.getDate();var m4 = (RegExp.$4 && (RegExp.$4 > -1 && RegExp.$4 < 24)) ? parseFloat(RegExp.$4) : 0;var m5 = (RegExp.$5 && (RegExp.$5 > -1 && RegExp.$5 < 60)) ? parseFloat(RegExp.$5) : 0;/(\d+)\-(\d+)\-(\d+)\s*(\d*):?(\d*)/.exec("0000-00-00 00\:00"); return new Date(m1, m2 - 1, m3, m4, m5);}function settime(d) {$cla('calendar').style.display = 'none';controlid.value = yy + "-" + zerofill(mm + 1) + "-" + zerofill(d) + (addtime ? ' ' + zerofill($cla('hour').value) + ':' + zerofill($cla('minute').value) : '');}function settoday() {today = new Date();yy = today.getFullYear();mm = today.getMonth();var d = today.getDate();$cla('calendar').style.display = 'none';controlid.value = yy + "-" + zerofill(mm + 1) + "-" + zerofill(d); }function closecalendar() {$cla('calendar').style.display = 'none';}function showcalendar(event, _controlid1, addtime1, startdate1, enddate1) {controlid = _controlid1;addtime = addtime1;startdate = startdate1 ? parsedate(startdate1) : false;enddate = enddate1 ? parsedate(enddate1) : false;currday = controlid.value ? parsedate(controlid.value) : today; hh = currday.getHours();ii = currday.getMinutes();var p = getposition(controlid);$cla('calendar').style.display = 'block';$cla('calendar').style.left = p['x'] + 'px';$cla('calendar').style.top = (p['y'] + 20) + 'px';_cancelBubble(event);refreshcalendar(currday.getFullYear(), currday.getMonth());if (lastcheckedyear != false) {$cla('calendar_year_' + lastcheckedyear).className = 'default';$cla('calendar_year_' + today.getFullYear()).className ='today';}if (lastcheckedmonth != false) {$cla('calendar_month_' + lastcheckedmonth).className = 'default';$cla('calendar_month_' + (today.getMonth() + 1)).className = 'today';}$cla('calendar_year_' + currday.getFullYear()).className = 'checked';$cla('calendar_month_' + (currday.getMonth() + 1)).className = 'checked';$cla('hourminute').style.display = addtime ? '' : 'none';lastcheckedyear = currday.getFullYear();lastcheckedmonth = currday.getMonth() + 1;}function refreshcalendar(y, m) {var x = new Date(y, m, 1);var mv = x.getDay();var d = x.getDate();var dd = null;yy = x.getFullYear();mm = x.getMonth();$cla("year").innerHTML = yy;$cla("month").innerHTML = mm + 1 > 9 ? (mm + 1) : '0' + (mm + 1); for (var i = 1; i <= mv; i++) {dd = $cla("d" + i);dd.innerHTML = " ";dd.className = "";}while (x.getMonth() == mm) {dd = $cla("d" + (d + mv));dd.innerHTML = '<a href="###" onclick="settime(' + d + ');return false">' + d + '</a>';if (x.getTime() < today.getTime() || (enddate && x.getTime() > enddate.getTime()) || (startdate && x.getTime() < startdate.getTime())) {dd.className = 'expire';} else {dd.className = 'default';}if (x.getFullYear() == today.getFullYear() && x.getMonth() == today.getMonth() && x.getDate() == today.getDate()) {dd.className = 'today';dd.firstChild.title = '½ñÌì';}if (x.getFullYear() == currday.getFullYear() && x.getMonth() == currday.getMonth() && x.getDate() == currday.getDate()) {dd.className = 'checked';}x.setDate(++d);}while (d + mv <= 42) {dd = $cla("d" + (d + mv));dd.innerHTML = " ";d++;}if (addtime) {$cla('hour').value = zerofill(hh);$cla('minute').value = zerofill(ii);}}function showdiv(id) {var p = getposition($cla(id));$cla('calendar_' + id).style.left = p['x'] + 'px';$cla('calendar_' + id).style.top = (p['y'] + 16) + 'px';$cla('calendar_' + id).style.display = 'block';}function zerofill(s) {var s = parseFloat(s.toString().replace(/(^[\s0]+)|(\s+$)/g, ''));s = isNaN(s) ? 0 : s;return (s < 10 ? '0' : '') + s.toString();}loadcalendar();。

相关文档
最新文档