`
netxdiy
  • 浏览: 715129 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

JS脚本的日历控件

 
阅读更多

<HEAD>
<title>联动案设置</title>

<script src="Calendar.js" type="text/javascript"></script>


< script language ="javascript" src ="Calendar.js" ></ script >


</HEAD>
调用方法



< TD style ="HEIGHT:25px" >< FONT face ="宋体" > 开业时间:
< asp:textbox id ="dtOpenTime" runat ="server" Width ="133px" visible ="True" ></ asp:textbox >< INPUT class ="but" id ="btndtOpenTimeDate" style ="WIDTH:25px;CURSOR:hand;HEIGHT:24px"
onclick
="javascript:Cal_dropdown(dtOpenTime)" type ="button" value ="..." name ="btndtOpenTimeDate" ></ FONT ></ TD >





脚本文件 Calendar.js

/**/ /* ------------------------------------------------------------------------
日期控件
functionCal_dropdown(edit,min,max)
弹出日历,可不给参数min和max,参数edit必须有

functionCal_datevalid(edit,min,max)
检查edit中值是否为大于等于min,小于等于max的有效日期格式字符串。
是则返回true,否则返回false
可不给参数min和max(字符串格式)
参数edit必须有,如果edit无,则必须是:edit为edit和img的父亲(如span、div)的第一个元素

*/


var Cal_popup = window.createPopup();
var Cal_edit;
var Cal_editdate = new Date();
var Cal_maxdate;
var Cal_mindate;

function Cal_clearTime(thedate)
... {
thedate.setHours(
0 );
thedate.setMinutes(
0 );
thedate.setSeconds(
0 );
thedate.setMilliseconds(
0 );
}


var Cal_today = new Date();
Cal_clearTime(Cal_today);

// 检查日期//
//
editctrl:日期控件输入框
//
false:日期错误

function ChkCZDate(editctrl)
... {
if (editctrl.value == '' )
... {alert( ' 请输入日期! ' )
editctrl.select();
editctrl.focus();
return false ;}

if ( ! Cal_datevalid(editctrl, ' 1910-1-1 ' , ' 3000-1-1 ' ))
... {
alert(
' 日期格式不正确,日期有效范围为1910年到3000年 ' );
editctrl.focus();
return false ;
}

else
return true ;
}






function Cal_decDay(thedate,days)
... {
if ( ! days)days = 1 ;
thedate.setTime(thedate
- days * 24 * 60 * 60 * 1000 );
}


function Cal_incMonth(year,month)
... {
if (month == 11 ) ... {
month
= 0 ;
year
++ ;
}
else month ++ ;
Cal_writeHTML(year,month);
}


function Cal_decMonth(year,month)
... {
if (month == 0 ) ... {
month
= 11 ;
year
-- ;
}
else month -- ;
Cal_writeHTML(year,month);
}


function Cal_decYear(year,month)
... {
Cal_writeHTML(year
- 1 ,month);
}


function Cal_incYear(year,month)
... {
Cal_writeHTML(year
+ 1 ,month);
}


function Cal_writeHTML(theyear,themonth)
... {
var html =
' <divid="Cal_div1"style="width:231px;FONT-SIZE:9pt;background-color:#fffef5;border:black1pxsolid"> ' +
' <TABLEstyle="border-bottom:black1pxsolid;FONT-SIZE:9pt;background-color:#0fa8c7;color:white; ' +
' padding-top:2px;font-weight:bold;text-align:center" ' +
' cellSpacing="0"cellPadding="0"width="100%"border="0"> ' +
' <TR><TDstyle="cursor:hand"align="left"width=24onmouseover="this.style.background= ' +
" '#ffb468'; " + ' " ' + ' onmouseout="this.style.background= ' + " '#0fa8c7'; " + ' " ' +
' onclick="parent.Cal_decYear( ' + theyear + ' , ' + themonth + ' );" ' +
' ><年</TD> ' +
' <TDstyle="cursor:hand"align="left"width=24onmouseover="this.style.background= ' +
" '#ffb468'; " + ' " ' + ' onmouseout="this.style.background= ' + " '#0fa8c7'; " + ' " ' +
' onclick="parent.Cal_decMonth( ' + theyear + ' , ' + themonth + ' );" ' +
' ><月</TD> ' +
' <TDalign="center"> ' ;

html
+= theyear + ' ' + (themonth + 1 ) + ' 月</TD> ' +
' <TDstyle="cursor:hand"align="right"width=24onmouseover="this.style.background= ' +
" '#ffb468'; " + ' " ' + ' onmouseout="this.style.background= ' + " '#0fa8c7'; " + ' " ' +
' onclick="parent.Cal_incMonth( ' + theyear + ' , ' + themonth + ' );" ' +
' >月></TD> ' +
' <TDstyle="cursor:hand"align="right"width=24onmouseover="this.style.background= ' +
" '#ffb468'; " + ' " ' + ' onmouseout="this.style.background= ' + " '#0fa8c7'; " + ' " ' +
' onclick="parent.Cal_incYear( ' + theyear + ' , ' + themonth + ' );" ' +
' >年></TD> ' ;

html
+=
' </TR></TABLE> ' +
' <TABLEstyle="FONT-SIZE:9pt;font-weight:bold;text-align:center;border-bottom:black1pxsolid" ' +
' cellSpacing="2"cellPadding="0"width="100%"border="0"> ' +
' <TR><TD>日</TD><TD>一</TD><TD>二</TD><TD>三</TD><TD>四</TD><TD>五</TD><TD>六</TD> ' +
' </TR></table> ' +
' <TABLEstyle="FONT-SIZE:9pt;text-align:center;cursor:hand"cellSpacing="2" ' +
' cellPadding="0"width="100%"border="0"> ' ;

var day1 = new Date(theyear,themonth, 1 );
if (day1.getDay() != 0 )
Cal_decDay(day1,day1.getDay());
// 日历开始日
for ( var i = 1 ;i <= 6 ;i ++ ) ... {
html
+= ' <TR> ' ;
for ( var j = 1 ;j <= 7 ;j ++ ) ... {
html
+= ' <TD ' ;
if (day1.getTime() == Cal_today.getTime())
html
+= ' style="color:blue" ' ;
else
if (day1.getTime() == Cal_editdate.getTime())
html
+= ' style="color:red" ' ;
else
if (day1.getMonth() != themonth)
html
+= ' style="color:#aaaaaa" ' ;
html
+= ' onmouseover="this.style.background= ' +
" '#ffb468'; " + ' " ' +
' onmouseout="this.style.background= ' +
" '#fffef5'; " + ' " ' ;
html
+= ' onclick="parent.Cal_clickday( ' + day1.getTime() + ' );" ' ;
html
+= ' > ' + day1.getDate() + ' </TD> ' ;
Cal_decDay(day1,
- 1 );
}

html
+= ' </TR> ' ;
if (day1.getMonth() != themonth) break ;
}


html
+=
' </TABLE> ' +
' <divstyle="border-top:black1pxsolid;text-align:center;padding:2px">今天是 ' +
' <spanstyle="color:blue;cursor:hand;text-decoration:underline"onclick="javascript:parent.Cal_clickday( ' +
Cal_today.getTime()
+ ' );"> ' +
Cal_today.getFullYear()
+ ' - ' + (Cal_today.getMonth() + 1 ) + ' - ' + Cal_today.getDate() +
' </span></div> ' +
' </div> ' ;
Cal_popup.document.body.innerHTML
= html;
if (Cal_popup.isOpen) // 重新调整显示高度
Cal_popup.show( 0 ,Cal_edit.offsetHeight, 231 ,Cal_popup.document.all( " Cal_div1 " ).offsetHeight,Cal_edit);
}


// 字符串转换为日期
function Cal_strtodate(str)
... {
var date = Date.parse(str);
if (isNaN(date)) ... {
date
= Date.parse(str.replace( /-/ g, " / " )); // 识别日期格式:YYYY-MM-DD
if (isNaN(date))date = 0 ;
}

return (date);
}


// 返回日期间相差的天数
function Cal_DateDiff(Date1,Date2)
... {
return (Date2 - Date1) / ( 24 * 60 * 60 * 1000 );
}


// 返回日期间相差的月数(最大误差小于一个月)
function Cal_MonthDiff(DateA,DateB)
... {
Date1
= new Date();
Date2
= new Date();
Date1.setTime(DateA);
Date2.setTime(DateB);
months
= (Date2.getFullYear() - Date1.getFullYear()) * 12 ;
addmonths
= Date2.getMonth() - Date1.getMonth();
months
= months + addmonths;
if (Date2.getDate() < Date1.getDate())
months
-- ;
return months;
}


// 弹出日历,可不给参数min和max,参数edit必须有
function Cal_dropdown(edit,min,max) ... {
if ( ! edit) ... {
edit
= window.event.srcElement.parentElement.children( 0 );
if (( ! edit.type) || (edit.type.toLowerCase() != " text " )) return ;
}

Cal_edit
= edit;
var date = Cal_strtodate(edit.value);
if (date == 0 )date = Cal_today.getTime();
if (max)Cal_maxdate = Cal_strtodate(max);
else Cal_maxdate = 0 ;
if (min)Cal_mindate = Cal_strtodate(min);
else Cal_mindate = 0 ;
Cal_editdate.setTime(date);
Cal_writeHTML(Cal_editdate.getFullYear(),Cal_editdate.getMonth());
Cal_popup.show(
0 ,edit.offsetHeight, 231 , 149 ,edit);
Cal_popup.show(
0 ,edit.offsetHeight, 231 ,Cal_popup.document.all( " Cal_div1 " ).offsetHeight,edit);
}


// 点击日期
function Cal_clickday(day,edit)
... {
if (Cal_maxdate != 0 )day = Math.min(day,Cal_maxdate);
day
= Math.max(day,Cal_mindate);
Cal_editdate.setTime(day);
var im;
var id;
if ((Cal_editdate.getMonth() + 1 ) < 10 )
... {
im
= Cal_editdate.getMonth() + 1 ;
im
= ' 0 ' + im;
}

else
im
= Cal_editdate.getMonth() + 1 ;
if ((Cal_editdate.getDate()) < 10 )
id
= " 0 " + Cal_editdate.getDate();
else
id
= Cal_editdate.getDate();
Cal_edit.value
= Cal_editdate.getFullYear() + " - " + im + " - "
+ id;
Cal_popup.hide();
Cal_edit.fireEvent(
" onkeydown " );
Cal_edit.focus();
}


function Cal_datevalid(edit,min,max)
... {
// 检查edit中值是否为大于等于min,小于等于max的有效日期格式字符串。

var date = Cal_strtodate(edit.value);
if (date == 0 ) return false ;
if (max) ... {
var max = Cal_strtodate(max);
if ((max != 0 ) && (date > max)) return false ;
}

if (min) ... {
var min = Cal_strtodate(min);
if ((min != 0 ) && (date < min)) return false ;
}

date
= new Date(date);
edit.value
= date.getFullYear() + " - " + (date.getMonth() + 1 ) +
" - " + date.getDate();
return true ;
}

分享到:
评论

相关推荐

    html js脚本日历控件

    HTML 和 JavaScript 脚本日历控件是网页开发中常用的一种交互元素,它允许用户在网页上方便地选择日期,通常与表单控件配合使用,提高用户体验。这种控件在网页应用、在线预订系统、事件管理或任何需要用户输入日期...

    JavaScript脚本 日历控件

    JavaScript脚本日历控件是一种常见的前端交互元素,主要用于网页上的日期选择,为用户提供直观、易用的日历界面。在IE5.0及以上版本的浏览器中,这种控件可以正常运行,提供良好的兼容性,满足大部分网站的需求。...

    支持IE、Fixfox、Safia、Opera内核的浏览器的js脚本日历控件

    支持IE、Fixfox、Safia、Opera内核的浏览器的js脚本日历控件 使用介绍见个人博客 欢迎访问http://121.18.78.216

    js 日历控件 calendar 漂亮日历控件

    JavaScript(简称JS)是一种广泛用于客户端Web开发的脚本语言,它在网页中常用于处理用户的交互,增强网页的动态性。"日历控件"是JavaScript应用中的常见组件,主要用于用户选择日期,常见于事件安排、预约系统或...

    史上最强js日历控件

    "史上最强js日历控件"可能是指一个功能强大、灵活性高、且用户体验优良的JavaScript实现的日历组件。JavaScript,作为网页开发中的主要脚本语言,常常被用来增强网页的交互性和动态性,而日历控件就是这种增强的一...

    简单好看的js日历控件

    在IT领域,JavaScript(简称js)是一种广泛应用于网页和网络应用开发的脚本语言,它在客户端运行,为用户提供动态、交互式的用户体验。日历控件是JavaScript常见的一种功能组件,用于显示日期并允许用户方便地选择...

    js 脚本 日期控件 日历控件 已经成熟应用过

    "meiziDate.js"作为一款日历控件,很可能包含了以上所述的功能和特性。其简单实用的特点可能意味着它易于集成,功能齐全,同时不会给页面带来过大的负担。在实际使用中,开发者可以通过阅读其源代码,学习其设计思路...

    JS日历控件,日历控件

    JS日历控件是利用JavaScript编程语言实现的此类功能,它能够提供直观、友好的用户体验。本文将深入探讨JS日历控件的原理、实现方式以及相关知识点。 一、日历控件的基本概念 日历控件是一种用户界面组件,它以日历...

    JavaScript日历控件 六种日历

    JavaScript日历控件是网页开发中常用的一种交互元素,它能帮助用户方便地选择日期,常见于表单输入、事件安排或时间相关的功能。在给定的资源中,包含了六种不同样式的JavaScript日历,这些日历可能具有不同的设计...

    js日历 控件 集合

    综上所述,“js日历控件集合”涵盖了各种JavaScript实现的日历组件,每种都有其独特特性和应用场景。根据项目需求,选择合适且易于维护的控件至关重要。在实际开发中,应充分理解这些控件的工作原理和配置选项,以便...

    js 简易的日历控件

    JavaScript(简称JS)是一种轻量级的脚本语言,常用于网页交互和动态效果的实现。在本案例中,我们讨论的是一个“js简易的日历控件”,它旨在提供类似于QQ邮箱中简洁版日历的功能,适合作为网页左下角或后台管理页面...

    一个兼容性很好的js脚本的日历控件

    《全面解析:一款高效兼容的JS日历控件》 在网页开发中,日历控件是不可或缺的一部分,尤其在处理日期输入、事件安排或时间管理等场景中。今天我们将深入探讨一个轻量级且兼容性极佳的JS日历控件,这款控件大小不到...

    JS版日历控件(.Net,Java通用)

    【JS版日历控件】是一种适用于.Net和Java平台的前端组件,主要使用JavaScript语言编写,使得开发者可以方便地在网页上添加具有交互性的日期选择功能。JavaScript,简称JS,是一种广泛应用于客户端Web开发的脚本语言...

    js日历DIV控件

    在本案例中,`Calender_v_1_3.js`文件就是包含JS日历控件实现的脚本。 **2. DIV元素** 在HTML中,`&lt;div&gt;`元素是一个块级元素,可以用于组合其他HTML元素,设置样式,或者作为相对定位的容器。在这个日历控件中,`...

    日历控件常用注册表单

    这个名为"日历控件常用注册表单"的资源包含了一个完整的注册表单,该表单集成了JavaScript(js)编写的日历功能。在网页设计中,这种交互式的日历控件常用于预订系统、事件安排或者任何需要用户输入特定日期的场景。...

    js ie firefox 日历控件多多

    这个压缩包“js ie firefox 日历控件多多”显然包含了一系列适用于Internet Explorer(IE)、Firefox等浏览器的JavaScript日历插件或者库。下面我们将深入探讨JavaScript日历控件的相关知识点,并结合不同浏览器的...

    js日历控件-calendar.js

    "js日历控件-calendar.js" 是一个JavaScript实现的日历组件,主要应用于网页中,用于显示日期选择功能。这个控件通常包含一个可交互的日历界面,用户可以通过它来选择日期,常见于在线表单、事件预订或者日期相关的...

    日历控件完整代码

    JavaScript是一种常用的客户端脚本语言,它可以动态地修改网页内容,因此非常适合创建交互式的日历控件。实现JS日历控件通常包括以下几个步骤: 1. 创建HTML结构:首先,在HTML页面中创建一个按钮或输入框,作为...

    JS实现的日历控件

    本文将深入探讨如何使用JavaScript实现一个日历控件,该控件能够帮助用户方便地选择年、月、日,从而增强网页的时间操作功能。 首先,创建一个日历控件的核心在于理解JavaScript中的日期对象(Date)。`Date`对象是...

    JSP日历控件代码

    首先,日历控件通常是由JavaScript实现的前端部分和JSP后端处理逻辑组成。"TestDate"文件夹很可能包含了用于生成日历显示的JavaScript文件,这些文件可能以.js为扩展名,例如"calendar.js"或"datePicker.js"。...

Global site tag (gtag.js) - Google Analytics