- 浏览: 361258 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
willsonbin:
赞~实用
表格行记录动态增加和删除 -
ljj1160347188:
/偷笑 楼主 你欺负我们这些新学的么
java的转义字符 -
zx5191:
啥jb玩意啊
java的转义字符 -
hyde12:
楼主要严谨点
java的转义字符 -
iteeye:
楼主要严谨点
java的转义字符
PopupCalendar.htm页面显示效果如下:
[img]http://fantasyyong840205.iteye.com/upload/picture/pic/8128/3a23e497-53f7-3a80-929f-0059067fe2e1.jpg [/img]
PopupCalendar.js文件:
[img]http://fantasyyong840205.iteye.com/upload/picture/pic/8128/3a23e497-53f7-3a80-929f-0059067fe2e1.jpg [/img]
<HTML> <HEAD> <TITLE></TITLE> <script language="javascript" src="PopupCalendar.js" ></script> </head> <BODY > <script > var oCalendarEn=new PopupCalendar("oCalendarEn"); //初始化控件时,请给出实例名称如:oCalendarEn oCalendarEn.Init(); var oCalendarChs=new PopupCalendar("oCalendarChs"); //初始化控件时,请给出实例名称:oCalendarChs oCalendarChs.weekDaySting=new Array("日","一","二","三","四","五","六"); oCalendarChs.monthSting=new Array("一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"); oCalendarChs.oBtnTodayTitle="今天"; oCalendarChs.oBtnCancelTitle="取消"; oCalendarChs.Init(); </script> <br><br><br><br> <input readonly type="text" name="dd" id="aa" onclick="getDateString(this,oCalendarEn)" value="English Version"> <br><br><br><br> <input readonly type="text" name="dd" id="aa" onclick="getDateString(this,oCalendarChs)" value="中文界面版"> </BODY> </HTML>
PopupCalendar.js文件:
//★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ //★ ★ //★ 日期控件 Version 1.0 ★ //★ ★ //★ Code by Chris.J(黄嘉隆) ★ //★ ★ //★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ function PopupCalendar(InstanceName) { ///Global Tag this.instanceName=InstanceName; ///Properties this.separator="-" this.oBtnTodayTitle="Today" this.oBtnCancelTitle="Cancel" this.weekDaySting=new Array("S","M","T","W","T","F","S"); this.monthSting=new Array("January","February","March","April","May","June","July","August","September","October","November","December"); this.Width=200; this.currDate=new Date(); this.today=new Date(); this.startYear=1970; this.endYear=2099; ///Css this.normalfontColor="#666666"; this.selectedfontColor="red"; this.divBorderCss="1px solid #BCD0DE"; this.titleTableBgColor="#98B8CD"; this.tableBorderColor="#CCCCCC" ///Method this.Init=CalendarInit; this.Fill=CalendarFill; this.Refresh=CalendarRefresh; this.Restore=CalendarRestore; ///HTMLObject this.oTaget=null; this.oPreviousCell=null; this.sDIVID=InstanceName+"_Div"; this.sTABLEID=InstanceName+"_Table"; this.sMONTHID=InstanceName+"_Month"; this.sYEARID=InstanceName+"_Year"; this.sTODAYBTNID=InstanceName+"_TODAYBTN"; } function CalendarInit() ///Create panel { var sMonth,sYear sMonth=this.currDate.getMonth(); sYear=this.currDate.getYear(); htmlAll="<div id='"+this.sDIVID+"' style='display:none;position:absolute;width:"+this.Width+";border:"+this.divBorderCss+";padding:2px;background-color:#FFFFFF'>"; htmlAll+="<div align='center'>"; /// Month htmloMonth="<select id='"+this.sMONTHID+"' onchange=CalendarMonthChange("+this.instanceName+") style='width:50%'>"; for(i=0;i<12;i++) { htmloMonth+="<option value='"+i+"'>"+this.monthSting[i]+"</option>"; } htmloMonth+="</select>"; /// Year htmloYear="<select id='"+this.sYEARID+"' onchange=CalendarYearChange("+this.instanceName+") style='width:50%'>"; for(i=this.startYear;i<=this.endYear;i++) { htmloYear+="<option value='"+i+"'>"+i+"</option>"; } htmloYear+="</select></div>"; /// Day htmloDayTable="<table id='"+this.sTABLEID+"' width='100%' border=0 cellpadding=0 cellspacing=1 bgcolor='"+this.tableBorderColor+"'>"; htmloDayTable+="<tbody bgcolor='#ffffff'style='font-size:13px'>"; for(i=0;i<=6;i++) { if(i==0) htmloDayTable+="<tr bgcolor='" + this.titleTableBgColor + "'>"; else htmloDayTable+="<tr>"; for(j=0;j<7;j++) { if(i==0) { htmloDayTable+="<td height='20' align='center' valign='middle' style='cursor:hand'>"; htmloDayTable+=this.weekDaySting[j]+"</td>" } else { htmloDayTable+="<td height='20' align='center' valign='middle' style='cursor:hand'"; htmloDayTable+=" onmouseover=CalendarCellsMsOver("+this.instanceName+")"; htmloDayTable+=" onmouseout=CalendarCellsMsOut("+this.instanceName+")"; htmloDayTable+=" onclick=CalendarCellsClick(this,"+this.instanceName+")>"; htmloDayTable+=" </td>" } } htmloDayTable+="</tr>"; } htmloDayTable+="</tbody></table>"; /// Today Button htmloButton="<div align='center' style='padding:3px'>" htmloButton+="<button id='"+this.sTODAYBTNID+"' style='width:40%;border:1px solid #BCD0DE;background-color:#eeeeee;cursor:hand'" htmloButton+=" onclick=CalendarTodayClick("+this.instanceName+")>"+this.oBtnTodayTitle+"</button> " htmloButton+="<button style='width:40%;border:1px solid #BCD0DE;background-color:#eeeeee;cursor:hand'" htmloButton+=" onclick=CalendarCancel("+this.instanceName+")>"+this.oBtnCancelTitle+"</button> " htmloButton+="</div>" /// All htmlAll=htmlAll+htmloMonth+htmloYear+htmloDayTable+htmloButton+"</div>"; document.write(htmlAll); this.Fill(); } function CalendarFill() /// { var sMonth,sYear,sWeekDay,sToday,oTable,currRow,MaxDay,iDaySn,sIndex,rowIndex,cellIndex,oSelectMonth,oSelectYear sMonth=this.currDate.getMonth(); sYear=this.currDate.getYear(); sWeekDay=(new Date(sYear,sMonth,1)).getDay(); sToday=this.currDate.getDate(); iDaySn=1 oTable=document.all[this.sTABLEID]; currRow=oTable.rows[1]; MaxDay=CalendarGetMaxDay(sYear,sMonth); oSelectMonth=document.all[this.sMONTHID] oSelectMonth.selectedIndex=sMonth; oSelectYear=document.all[this.sYEARID] for(i=0;i<oSelectYear.length;i++) { if(parseInt(oSelectYear.options[i].value)==sYear)oSelectYear.selectedIndex=i; } //// for(rowIndex=1;rowIndex<=6;rowIndex++) { if(iDaySn>MaxDay)break; currRow = oTable.rows[rowIndex]; cellIndex = 0; if(rowIndex==1)cellIndex = sWeekDay; for(;cellIndex<currRow.cells.length;cellIndex++) { if(iDaySn==sToday) { currRow.cells[cellIndex].innerHTML="<font color='"+this.selectedfontColor+"'><i><b>"+iDaySn+"</b></i></font>"; this.oPreviousCell=currRow.cells[cellIndex]; } else { currRow.cells[cellIndex].innerHTML=iDaySn; currRow.cells[cellIndex].style.color=this.normalfontColor; } CalendarCellSetCss(0,currRow.cells[cellIndex]); iDaySn++; if(iDaySn>MaxDay)break; } } } function CalendarRestore() /// Clear Data { var i,j,oTable oTable=document.all[this.sTABLEID] for(i=1;i<oTable.rows.length;i++) { for(j=0;j<oTable.rows[i].cells.length;j++) { CalendarCellSetCss(0,oTable.rows[i].cells[j]); oTable.rows[i].cells[j].innerHTML=" "; } } } function CalendarRefresh(newDate) /// { this.currDate=newDate; this.Restore(); this.Fill(); } function CalendarCellsMsOver(oInstance) /// Cell MouseOver { var myCell = event.srcElement; CalendarCellSetCss(0,oInstance.oPreviousCell); if(myCell) { CalendarCellSetCss(1,myCell); oInstance.oPreviousCell=myCell; } } function CalendarCellsMsOut(oInstance) ////// Cell MouseOut { var myCell = event.srcElement; CalendarCellSetCss(0,myCell); } function CalendarYearChange(oInstance) /// Year Change { var sDay,sMonth,sYear,newDate sDay=oInstance.currDate.getDate(); sMonth=oInstance.currDate.getMonth(); sYear=document.all[oInstance.sYEARID].value newDate=new Date(sYear,sMonth,sDay); oInstance.Refresh(newDate); } function CalendarMonthChange(oInstance) /// Month Change { var sDay,sMonth,sYear,newDate sDay=oInstance.currDate.getDate(); sMonth=document.all[oInstance.sMONTHID].value sYear=oInstance.currDate.getYear(); newDate=new Date(sYear,sMonth,sDay); oInstance.Refresh(newDate); } function CalendarCellsClick(oCell,oInstance) { var sDay,sMonth,sYear,newDate sYear=oInstance.currDate.getFullYear(); sMonth=oInstance.currDate.getMonth(); sDay=oInstance.currDate.getDate(); if(oCell.innerText!=" ") { sDay=parseInt(oCell.innerText); if(sDay!=oInstance.currDate.getDate()) { newDate=new Date(sYear,sMonth,sDay); oInstance.Refresh(newDate); } } sDateString=sYear+oInstance.separator+CalendarDblNum(sMonth+1)+oInstance.separator+CalendarDblNum(sDay); ///return sDateString if(oInstance.oTaget.tagName.toLowerCase()=="input")oInstance.oTaget.value = sDateString; CalendarCancel(oInstance); return sDateString; } function CalendarTodayClick(oInstance) /// "Today" button Change { oInstance.Refresh(new Date()); } function getDateString(oInputSrc,oInstance) { if(oInputSrc&&oInstance) { var CalendarDiv=document.all[oInstance.sDIVID]; oInstance.oTaget=oInputSrc; CalendarDiv.style.pixelLeft=CalendargetPos(oInputSrc,"Left"); CalendarDiv.style.pixelTop=CalendargetPos(oInputSrc,"Top") + oInputSrc.offsetHeight; CalendarDiv.style.display=(CalendarDiv.style.display=="none")?"":"none"; } } function CalendarCellSetCss(sMode,oCell) /// Set Cell Css { // sMode // 0: OnMouserOut 1: OnMouseOver if(sMode) { oCell.style.border="1px solid #5589AA"; oCell.style.backgroundColor="#BCD0DE"; } else { oCell.style.border="1px solid #FFFFFF"; oCell.style.backgroundColor="#FFFFFF"; } } function CalendarGetMaxDay(nowYear,nowMonth) /// Get MaxDay of current month { var nextMonth,nextYear,currDate,nextDate,theMaxDay nextMonth=nowMonth+1; if(nextMonth>11) { nextYear=nowYear+1; nextMonth=0; } else { nextYear=nowYear; } currDate=new Date(nowYear,nowMonth,1); nextDate=new Date(nextYear,nextMonth,1); theMaxDay=(nextDate-currDate)/(24*60*60*1000); return theMaxDay; } function CalendargetPos(el,ePro) /// Get Absolute Position { var ePos=0; while(el!=null) { ePos+=el["offset"+ePro]; el=el.offsetParent; } return ePos; } function CalendarDblNum(num) { if(num < 10) return "0"+num; else return num; } function CalendarCancel(oInstance) ///Cancel { var CalendarDiv=document.all[oInstance.sDIVID]; CalendarDiv.style.display="none"; }
- JavaScript日期控件.rar (3.2 KB)
- 下载次数: 431
评论
2 楼
aarron84
2008-11-26
对XHTML 1.0 支持不是太好
1 楼
leonardleonard
2008-04-24
好像当选择1999年12月的时候,日期会不对,楼主可以看看。
发表评论
-
jQuery学习资料
2008-04-01 22:48 2272jQuery学习资料 -
checkbox全选功能
2008-02-29 11:47 2464checkbox全选功能实例: <script ... -
Javascript显示当前日期
2008-02-28 16:43 17549Date(日期)对象可以使用Date()构造器来创建。 首先 ... -
window.open()方法使用
2008-02-28 11:56 1791window.open()支持环境: JavaScript1 ... -
confirm用法和例子
2008-02-27 10:51 18858一般用于弹出对话框(确定/否) 确定:就执行其嵌套的内容;否 ... -
表格行记录动态增加和删除
2008-02-27 01:14 4923应用实例1 原版页面增加注释.htm: 可以批量删除表格 ... -
showModalDialog()、showModelessDialog()方法使用详解
2008-02-26 10:02 1222Javascript有许多内建的方 ... -
window.open参数详解
2008-02-25 18:58 88391. 使用举例: <SCRIPT LANGUAGE= ... -
JavaScript日期控件02(日期选择器)
2008-02-22 00:23 2154JSCalendar1.0 应该说是现在最全,最方便的日 ... -
下拉框——Dynamic options
2008-02-18 15:49 1162这是一个简单的使用实例: <form name=&qu ... -
document.write方法
2008-02-18 15:09 3854一个最基本的JavaScript命令是document.wri ... -
JavaScript split() 方法
2008-02-18 14:57 1877Definition and Usage——定义与用法 Th ...
相关推荐
这篇博客“JavaScript日期控件02(日期选择器)”可能是博主FantasyYong分享的一个关于自定义日期选择器的实现方法。日期控件在网页表单、事件预订、日程管理等场景中广泛应用,为用户提供友好的界面体验。 在...
因此,开发者通常会利用JavaScript和CSS创建自定义的日期选择器。这些控件通过监听用户的交互事件(如点击、滑动),动态生成并显示日期选择界面,然后更新与控件关联的输入框值。 二、JavaScript日期控件的使用...
例如,当用户点击日期选择器时,一个弹出的日历视图可能会被显示出来,用户可以选择一个日期,然后JavaScript会更新HTML页面上的日期显示。 在JavaScript中,可以使用`new Date()`创建一个新的日期对象,或者使用`...
JavaScript日期选择器通过提供可视化界面,使用户可以方便地通过日历样式选择日期,大大提升了用户体验。 日期控件的核心是JavaScript的Date对象,它提供了处理日期和时间的各种方法和属性。例如,`new Date()`用于...
3. **事件处理**:当用户与日期控件交互时,如点击按钮,JavaScript会捕获这些事件并执行相应的操作,如弹出或关闭日期选择器,更新输入框的值等。 4. **日期逻辑**:日期选择器需要处理日期的合法性检查,例如确保...
JavaScript经典日期控件,如标题所述,是一种基于JavaScript编写的用于网页交互的日期选择组件,它使得用户在网页上能够方便地选取日期。这个控件的版本为My97DatePicker3.0.1,通常这类控件会提供丰富的功能和良好...
此外,可能还会有对CSS和DOM操作的部分,以构建和控制日期选择器的视觉展示。 总结来说,这个主题涵盖的知识点包括:JavaScript日期控件的实现、跨浏览器兼容性策略、事件处理、HTML与JavaScript的交互、以及可能...
本篇将深入探讨"vue日期选择器控件"的相关知识点。 1. **Vue.js 组件系统** Vue的核心特性之一就是组件化开发,它允许我们将UI拆分成可复用的模块。日期选择器控件就是一个典型的组件示例,可以独立于其他代码复用...
本资源包“JavaScript日期控件集合”包含了一系列多语言支持的日期选择器,旨在满足不同项目需求。 1. **多语言支持**:这些日期控件通常内置了多种语言的本地化设置,允许开发者根据用户的浏览器设置或手动配置,...
JavaScript 日期控件是网页开发中常用的一种交互元素,它允许用户方便地选择日期和时间。在JavaScript中,处理日期和时间主要依赖于内置的`Date`对象。本篇文章将详细探讨如何创建一个带有时间选择功能的JavaScript...
3. **日期选择器库**:在实际开发中,为了提供更好的用户体验,开发者通常会使用现成的日期选择器库,如`jQuery UI Datepicker`、`bootstrap-datepicker`、`Pickadate.js`或`Flatpickr`等。这些库提供了丰富的配置...
3. **自定义日期选择器**:当内置日期输入不适用时,可以创建自定义的日期选择器。这通常涉及到JavaScript事件处理、DOM操作和可能的CSS动画。确保在Firefox中正确显示和交互,需要测试并调整这些元素。 4. **Fire...
1. **创建控件**:开发者可以使用HTML和CSS创建日期选择器的基本结构,然后用JavaScript进行功能的添加。这可能涉及到事件监听(如点击、改变等)、DOM操作(添加、删除、修改元素)以及样式控制。 2. **日期处理**...
1. **jQuery UI Datepicker**:这是基于jQuery库的日期选择器,提供了丰富的主题和自定义选项,可以轻松集成到.NET项目中。 2. **Bootstrap Datepicker**:它是Bootstrap框架的一个组件,具有良好的响应式设计,...
JavaScript日期控件源码是一种常见的前端开发工具,用于在网页上提供用户友好的日期选择功能。这个控件通常是一个文本框,用户可以点击后弹出一个日历界面,方便地选择日期,而不是手动输入。这样的控件对于需要处理...
虽然它本身并不提供日期选择器,但它可以与许多第三方插件(如eonasdan/bootstrap-datetimepicker)结合使用,创建出强大的日期和时间选择控件。这种组合提供了丰富的日期和时间处理能力,包括时间区支持、日期运算...