`
azheng270
  • 浏览: 93004 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

能够选择时间的 JS 日历时间输入控件

阅读更多

主调用函数是 setday(this,[object])和setday(this),[object]是控件输出的控件名,举两个例子:
一、<input name=txt><input type=button value=setday onclick="setday(this,document.all.txt)">
二、<input onfocus="setday(this)">

手动调整了 分 和 秒 的初始值为0,也可手动调整回取现在时间得 分 和 秒

//主调用函数是setday(this,[object])和setday(this),[object]是控件输出的控件名,举两个例子:
//
一、<inputname=txt><inputtype=buttonvalue=setdayonclick="setday(this,document.all.txt)">
//
二、<inputonfocus="setday(this)">

varbMoveable=true;
varstrFrame;

document.writeln(
'<iframeid=endDateLayerframeborder=0width=180height=220style="position:absolute;z-index:9998;display:none"></iframe>');
strFrame
='<style>';
strFrame
+='INPUT.button{BORDER-RIGHT:#63A3E91pxsolid;BORDER-TOP:#63A3E91pxsolid;BORDER-LEFT:#63A3E91pxsolid;';
strFrame
+='BORDER-BOTTOM:#63A3E91pxsolid;BACKGROUND-COLOR:#63A3E9;font-family:宋体;}';
strFrame
+='TD{FONT-SIZE:9pt;font-family:宋体;}';
strFrame
+='</style>';
strFrame
+='<scr'+'ipt>';
strFrame
+='vardatelayerx,datelayery;';
strFrame
+='varbDrag;';
strFrame
+='functiondocument.onmousemove()';
strFrame
+='{if(bDrag&&window.event.button==1)';
strFrame
+='{varDateLayer=parent.document.all.endDateLayer.style;';
strFrame
+='DateLayer.posLeft+=window.event.clientX-datelayerx;';
strFrame
+='DateLayer.posTop+=window.event.clientY-datelayery;}}';
strFrame
+='functionDragStart()';
strFrame
+='{varDateLayer=parent.document.all.endDateLayer.style;';
strFrame
+='datelayerx=window.event.clientX;';
strFrame
+='datelayery=window.event.clientY;';
strFrame
+='bDrag=true;}';
strFrame
+='functionDragEnd(){';
strFrame
+='bDrag=false;}';
strFrame
+='</scr'+'ipt>';
strFrame
+='<divstyle="z-index:9999;position:absolute;left:0;top:0;"onselectstart="returnfalse">';
strFrame
+='<spanid=tmpSelectYearLayerstyle="z-index:9999;position:absolute;top:3;left:19;display:none"></span>';
strFrame
+='<spanid=tmpSelectMonthLayerstyle="z-index:9999;position:absolute;top:3;left:78;display:none"></span>';
strFrame
+='<spanid=tmpSelectHourLayerstyle="z-index:9999;position:absolute;top:188;left:35px;display:none"></span>';
strFrame
+='<spanid=tmpSelectMinuteLayerstyle="z-index:9999;position:absolute;top:188;left:77px;display:none"></span>';
strFrame
+='<spanid=tmpSelectSecondLayerstyle="z-index:9999;position:absolute;top:188;left:119px;display:none"></span>';
strFrame
+='<tableborder=1cellspacing=0cellpadding=0width=142height=160bordercolor=#63A3E9bgcolor=#63A3E9>';
strFrame
+='<tr><tdwidth=142height=23bgcolor=#FFFFFF>';
strFrame
+='<tableborder=0cellspacing=1cellpadding=0width=158height=23>';
strFrame
+='<tralign=center>';
strFrame
+='<tdwidth=16align=centerbgcolor=#63A3E9style="font-size:12px;cursor:hand;color:#ffffff"';
strFrame
+='onclick="parent.meizzPrevM()"title="向前翻1月"><b>&lt;</b></td>';
strFrame
+='<tdwidth=60align="center"bgcolor="#63A3E9"style="font-size:12px;cursor:hand"';
strFrame
+='onmouseover="style.backgroundColor='#aaccf3'"';
strFrame
+='onmouseout="style.backgroundColor='#63A3E9'"';
strFrame
+='onclick="parent.tmpSelectYearInnerHTML(this.innerText.substring(0,4))"';
strFrame
+='title="点击这里选择年份"><spanid=meizzYearHead></span></td>';
strFrame
+='<tdwidth=48align="center"style="font-size:12px;font-color:#ffffff;cursor:hand"';
strFrame
+='bgcolor="#63A3E9"onmouseover="style.backgroundColor='#aaccf3'"';
strFrame
+='onmouseout="style.backgroundColor='#63A3E9'"';
strFrame
+='onclick="parent.tmpSelectMonthInnerHTML(this.innerText.length==3?this.innerText.substring(0,1):this.innerText.substring(0,2))"';
strFrame
+='title="点击这里选择月份"><spanid=meizzMonthHead></span></td>';
strFrame
+='<tdwidth=16bgcolor=#63A3E9align=centerstyle="font-size:12px;cursor:hand;color:#ffffff"';
strFrame
+='onclick="parent.meizzNextM()"title="向后翻1月"><b>&gt;</b></td>';
strFrame
+='</tr>';
strFrame
+='</table></td></tr>';
strFrame
+='<tr><tdwidth=142height=18>';
strFrame
+='<tableborder=0cellspacing=0cellpadding=2bgcolor=#63A3E9'+(bMoveable?'onmousedown="DragStart()"onmouseup="DragEnd()"':'');
strFrame
+='BORDERCOLORLIGHT=#63A3E9BORDERCOLORDARK=#FFFFFFwidth=140height=20style="cursor:'+(bMoveable?'move':'default')+'">';
strFrame
+='<tr><tdstyle="font-size:12px;color:#ffffff"width=20>&nbsp;日</td>';
strFrame
+='<tdstyle="font-size:12px;color:#FFFFFF">&nbsp;一</td><tdstyle="font-size:12px;color:#FFFFFF">&nbsp;二</td>';
strFrame
+='<tdstyle="font-size:12px;color:#FFFFFF">&nbsp;三</td><tdstyle="font-size:12px;color:#FFFFFF">&nbsp;四</td>';
strFrame
+='<tdstyle="font-size:12px;color:#FFFFFF">&nbsp;五</td><tdstyle="font-size:12px;color:#FFFFFF">&nbsp;六</td></tr>';
strFrame
+='</table></td></tr>';
strFrame
+='<tr><tdwidth=142height=120>';
strFrame
+='<tableborder=1cellspacing=2cellpadding=2BORDERCOLORLIGHT=#63A3E9BORDERCOLORDARK=#FFFFFFbgcolor=#fff8ecwidth=140height=120>';
varn=0;for(j=0;j<5;j++)...{strFrame+='<tralign=center>';for(i=0;i<7;i++)...{
strFrame
+='<tdwidth=20height=20id=meizzDay'+n+'style="font-size:12px"onclick=parent.meizzDayClick(this.innerText,0)></td>';n++;}

strFrame
+='</tr>';}

strFrame
+='<tralign=center>';
for(i=35;i<37;i++)strFrame+='<tdwidth=20height=20id=meizzDay'+i+'style="font-size:12px"onclick="parent.meizzDayClick(this.innerText,0)"></td>';
strFrame
+='<tdcolspan=5align=rightstyle="color:#1478eb"><spanonclick="parent.setNull()"style="font-size:12px;cursor:hand"';
strFrame
+='onmouseover="style.color='#ff0000'"onmouseout="style.color='#1478eb'"title="将日期置空">置空</span>&nbsp;&nbsp;<spanonclick="parent.meizzToday()"style="font-size:12px;cursor:hand"';
strFrame
+='onmouseover="style.color='#ff0000'"onmouseout="style.color='#1478eb'"title="当前日期时间">当前</span>&nbsp;&nbsp;<spanstyle="cursor:hand"id=evaAllOKonmouseover="style.color='#ff0000'"onmouseout="style.color='#1478eb'"onclick="parent.closeLayer()"title="关闭日历">关闭&nbsp;</span></td></tr>';
strFrame
+='</table></td></tr><tr><td>';
strFrame
+='<tableborder=0cellspacing=1cellpadding=0width=100%bgcolor=#FFFFFFheight=22>';
strFrame
+='<trbgcolor="#63A3E9"><tdid=bUseTimeLayerwidth=30style="cursor:hand"title="点击这里启用/禁用时间"';
strFrame
+='onmouseover="style.backgroundColor='#aaccf3'"align=centeronmouseout="style.backgroundColor='#63A3E9'"';
strFrame
+='onclick="parent.UseTime(this)">';
strFrame
+='<span></span></td>';
strFrame
+='<tdstyle="cursor:hand"onclick="parent.tmpSelectHourInnerHTML(this.innerText.length==3?this.innerText.substring(0,1):this.innerText.substring(0,2))"';
strFrame
+='onmouseover="style.backgroundColor='#aaccf3'"onmouseout="style.backgroundColor='#63A3E9'"';
strFrame
+='title="点击这里选择时间"align=centerwidth=42>';
strFrame
+='<spanid=meizzHourHead></span></td>';
strFrame
+='<tdstyle="cursor:hand"onclick="parent.tmpSelectMinuteInnerHTML(this.innerText.length==3?this.innerText.substring(0,1):this.innerText.substring(0,2))"';
strFrame
+='onmouseover="style.backgroundColor='#aaccf3'"onmouseout="style.backgroundColor='#63A3E9'"';
strFrame
+='title="点击这里选择时间"align=centerwidth=42>';
strFrame
+='<spanid=meizzMinuteHead></span></td>';
strFrame
+='<tdstyle="cursor:hand"onclick="parent.tmpSelectSecondInnerHTML(this.innerText.length==3?this.innerText.substring(0,1):this.innerText.substring(0,2))"';
strFrame
+='onmouseover="style.backgroundColor='#aaccf3'"onmouseout="style.backgroundColor='#63A3E9'"';
strFrame
+='title="点击这里选择时间"align=centerwidth=42>';
strFrame
+='<spanid=meizzSecondHead></span></td>';
strFrame
+='</tr></table></td></tr></table></div>';

window.frames.endDateLayer.document.writeln(strFrame);
window.frames.endDateLayer.document.close();
//解决ie进度条不结束的问题


//====================================================WEB页面显示部分======================================================
varoutObject;
varoutButton;//点击的按钮

varoutDate="";//存放对象的日期
varbUseTime=false;//是否使用时间
varodatelayer=window.frames.endDateLayer.document.all;//存放日历对象
varodatelayer=window.endDateLayer.document.all;
//odatelayer.bUseTimeLayer.innerText="NO";
bImgSwitch();
odatelayer.bUseTimeLayer.innerHTML
=bImg;

functionsetday(tt,obj)//主调函数
...{
if(arguments.length>2)...{alert("对不起!传入本控件的参数太多!");return;}
if(arguments.length==0)...{alert("对不起!您没有传回本控件任何参数!");return;}
vardads=document.all.endDateLayer.style;
varth=tt;
varttop=tt.offsetTop;//TT控件的定位点高

varthei=tt.clientHeight;//TT控件本身的高
vartleft=tt.offsetLeft;//TT控件的定位点宽

varttyp=tt.type;//TT控件的类型

while(tt=tt.offsetParent)...{ttop+=tt.offsetTop;tleft+=tt.offsetLeft;}
dads.top
=(ttyp=="image")?ttop+thei:ttop+thei+6;
dads.left
=tleft;
outObject
=(arguments.length==1)?th:obj;
outButton
=(arguments.length==1)?null:th;//设定外部点击的按钮

//根据当前输入框的日期显示日历的年月
varreg=/^(d+)-(d...{1,2})-(d...{1,2})/;//不含时间
varr=outObject.value.match(reg);
if(r!=null)...{
r[
2]=r[2]-1;
vard=newDate(r[1],r[2],r[3]);
if(d.getFullYear()==r[1]&&d.getMonth()==r[2]&&d.getDate()==r[3])
...{
outDate
=d;
parent.meizzTheYear
=r[1];
parent.meizzTheMonth
=r[2];
parent.meizzTheDate
=r[3];
}

else
...{
outDate
="";
}

meizzSetDay(r[
1],r[2]+1);
}

else
...{
outDate
="";
meizzSetDay(
newDate().getFullYear(),newDate().getMonth()+1);
}

dads.display
='';

//判断初始化时是否使用时间,非严格验证
//if(outObject.value.length>10)
//{
bUseTime=true;
bImgSwitch();
odatelayer.bUseTimeLayer.innerHTML
=bImg;
meizzWriteHead(meizzTheYear,meizzTheMonth);
//}
//else
//{
//bUseTime=false;
//color: #0
分享到:
评论

相关推荐

    html js脚本日历控件

    7. **兼容性**:考虑到浏览器的多样性,编写JavaScript日历控件时需要关注跨浏览器的兼容性问题,确保在不同的浏览器(如Chrome、Firefox、Safari、Edge和IE)上都能正常工作。 在提供的文件名中,"calendar.html"...

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

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

    JavaScript日历控件 六种日历

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

    非常好用的js日历控件,可换肤,带时间输入

    总的来说,这个JavaScript日历控件通过其丰富的功能和易用性,为网页开发者提供了一个强大的日期和时间选择工具,可以满足各种各样的应用场景,并且能够根据需求进行定制,提升用户的交互体验。

    js日历 控件 集合

    在JavaScript编程中,日历控件是一种常见的交互元素,它允许用户方便地选择日期,常用于表单输入、事件管理或时间安排等场景。本文将深入探讨“js日历控件集合”这一主题,旨在为你提供多种js日历插件的选择和使用...

    js日历控件 js日历控件

    JavaScript日历控件是网页开发中常用的一种交互元素,它允许用户在网页上方便地选择日期,常用于表单输入、事件安排或者时间相关的功能。本文将深入探讨JavaScript日历控件的实现原理、常见库及其应用。 1. **基本...

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

    总之,JavaScript日历控件是一个结合了前端技术与用户体验设计的组件,通过JavaScript的动态特性,我们可以创建功能丰富、用户友好的日期选择工具。在实际项目中,还可以考虑与其他库(如jQuery、React或Vue)集成,...

    JS日历控件 (兼容IE firefox) 可选择时间

    在网页开发中,JavaScript(JS)常常用于创建交互式的用户界面,其中日历控件是一种常见且实用的功能,尤其在处理日期输入时。本资源提供了一个兼容Internet Explorer(IE)和Firefox浏览器的JS日历控件,允许用户...

    js 日历控件

    JavaScript日历控件是一种在网页上实现日期选择功能的交互元素,它允许用户通过图形界面轻松选择日期,常用于表单填写、事件预订等场景。本文将深入探讨JS日历控件的实现原理、特点以及如何在实际项目中应用。 一、...

    js日历选择控件

    **JS日历选择控件——My97 DatePicker详解** 在网页设计中,用户经常需要输入日期,为了提高用户体验,开发者通常会使用日历选择控件。My97 DatePicker 是一个非常流行的JavaScript日历插件,它功能强大,自定义...

    js日历控件 英文版

    JavaScript日历控件是网页应用中常见的一种交互元素,它允许用户方便地选择日期,常用于事件安排、预订系统或表单输入等场景。在这个英文版的JS日历控件中,开发者为英文操作系统的用户提供了友好的界面和功能。 ...

    带有时间选择的日历控件

    在本案例中,我们讨论的是一个具有时间选择功能的日历控件,它支持选择时、分、秒,这对于需要精确时间输入的应用场景非常有用。这种控件通常通过JavaScript实现,因为它可以提供动态交互性和灵活性。 1. **...

    带有时间的日历控件

    本主题将深入探讨“带有时间的日历控件”,一个在Google和IE浏览器中均能良好运行的组件,以及相关的JavaScript(js)技术。 首先,我们来理解“带有时间”的日历控件。传统的日历控件通常只显示日期,而“带有时间...

    带时间的日历控件

    本资源提供了一个基于JavaScript实现的带时间的日历控件,适用于那些需要用户输入精确日期和时间的场景。下面将详细探讨这个控件的设计原理、实现方法以及可能的应用场景。 首先,日历控件的核心功能是展示一个月的...

    Javascript编写的选择输入日历控件

    JavaScript编写的选择性输入日历控件。首先引入该JS文件,某个文本框需要输入日期时,为该文本框添加onfocus事件,事件处理函数为new Calendar(0).show(this)。即添加“onfocus='new Calendar(0).show(this)”。

    简单好看的js日历控件

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

    js日历控件日期多选Kalendajs

    综上所述,Kalendajs是一个强大且灵活的JavaScript日历插件,它为开发者提供了创建功能丰富的日期选择器的能力。通过深入了解其工作原理和API,开发者可以轻松地集成到自己的项目中,提升用户在日期选择方面的交互...

    JS日历控件,日历控件

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

    带时间的日历控件js特效

    在这种情况下,我们讨论的是一个特殊的日历控件,它不仅包含日期选择功能,还集成了时间选择,这对于处理时间和日期相关的应用程序非常重要。这个控件是用JavaScript(js)实现的,JavaScript是一种广泛使用的客户端...

    JS日历控件(可以选择多个日期)

    在JavaScript(JS)中,日历控件是一种常见的交互元素,用于用户友好地选择日期。在许多Web应用程序中,特别是那些涉及到日期输入的场景,如预订系统、日程管理等,这种控件非常实用。本篇文章将深入探讨如何创建一...

Global site tag (gtag.js) - Google Analytics