网站首页 手机版
 注册 登录
您现在的位置: 畅无忧设计 >> 网页特效 >> 日期时间 >> 正文
最新文章
· Js简单获取系统日期/时间/星期
· 小巧实用的日历
· Js日期选择并自动加入输入框
· 可开始暂停停止的js计时器
· JavaScript日历生成器
· 动态显示当前时间并显示当前是上午还
· 中英文双语日期选择器
· 非常好用的JS日历控件ESONCalendar
· 简单的日期时间控件
· 简洁漂亮的JS日历控件代码
热门文章
 可开始暂停停止的js计时器
 可精确到分钟的js日期时间控件
 基于JQuery的日历控件
 JavaScript动态显示系统时间(带年
 一个可精确到时分秒的日期时间控件
 距离某年某月某日还有多少天
 日期时间控件My97 DatePicker 4.7 
 非常好用的JS日历控件ESONCalendar
 简洁漂亮的JS日历控件代码
 精确到毫秒的动态时间显示
相关文章
非常好用的JS日历控件ESONCalendar
简单的日期时间控件
基于JQuery的日历控件
一款比较清爽的日历控件
日期时间控件My97 DatePicker 4.7 Releas
可自由选择时间长度的js日期时间控件
站长统计中使用的js日历控件
JCalendar 日历控件 v1.0 beta
支持快捷键的javascript日期控件
一个可精确到时分秒的日期时间控件
可精确到分钟的js日期时间控件
兼容各种浏览器的日期控件
中英文双语日期选择器
来源:阿里西西 更新时间:2010/10/21 8:58:34 阅读次数: 我要投稿
△运行 ☉预览 #复制 +收藏
特效代码:
<HTML>
<HEAD>
<TITLE>中英文日期选择器</TITLE>
<!--<script language="javascript" src="PopupCalendar.js" ></script>-->
<script>
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=2010;
///Css
this.divBorderCss="1px solid #BCD0DE";
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+"oDiv";
this.sTABLEID=InstanceName+"oTable";
this.sMONTHID=InstanceName+"oMonth";
this.sYEARID=InstanceName+"oYear";
}
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='#98B8CD'>";
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 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,sDaySn,sIndex,rowIndex,cellIndex,oSelectMonth,oSelectYear
sMonth=this.currDate.getMonth();
sYear=this.currDate.getYear();
sWeekDay=(new Date(sYear,sMonth,1)).getDay();
sToday=this.currDate.getDate();
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(sDaySn=1,sIndex=sWeekDay;sIndex<=6;sDaySn++,sIndex++)
{
if(sDaySn==sToday)
{
currRow.cells[sIndex].innerHTML="<font color=red><i><b>"+sDaySn+"</b></i></font>";
this.oPreviousCell=currRow.cells[sIndex];
}
else
{
currRow.cells[sIndex].innerHTML=sDaySn;
currRow.cells[sIndex].style.color="#666666";
}
CalendarCellSetCss(0,currRow.cells[sIndex]);
}
for(rowIndex=2;rowIndex<=6;rowIndex++)
{
if(sDaySn>MaxDay)break;
currRow=oTable.rows[rowIndex];
for(cellIndex=0;cellIndex<currRow.cells.length;cellIndex++)
{
if(sDaySn==sToday)
{
currRow.cells[cellIndex].innerHTML="<font color=red><i><b>"+sDaySn+"</b></i></font>";
this.oPreviousCell=currRow.cells[cellIndex];
}
else
{
currRow.cells[cellIndex].innerHTML=sDaySn;
currRow.cells[cellIndex].style.color="#666666";
}
CalendarCellSetCss(0,currRow.cells[cellIndex]);
sDaySn++;
if(sDaySn>MaxDay)break;
}
}
}
function CalendarRestore()     /// Clear Data
{
var 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
myCell=event.srcElement;
CalendarCellSetCss(0,oInstance.oPreviousCell);
if(myCell)
{
CalendarCellSetCss(1,myCell);
oInstance.oPreviousCell=myCell;
}
}
function CalendarCellsMsOut(oInstance)    ////// Cell MouseOut
{
var myCell
myCell=event.srcElement;
CalendarCellSetCss(0,myCell);
}
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=="INPUT")
{
oInstance.oTaget.value=sDateString;
}
document.all[oInstance.sDIVID].style.display="none";
}
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 CalendarTodayClick(oInstance)    /// "Today" button Change
{
oInstance.Refresh(new Date());
}
function getDateString(oInputSrc,oInstance)
{
if(oInputSrc&&oInstance)
{
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
{
CalendarDiv=document.all[oInstance.sDIVID];
CalendarDiv.style.display="none";
}
</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>
   <input readonly type="text" name="dd" id="aa" onClick="getDateString(this,oCalendarEn)" value="English Version">
<br><br><br><br><br><br><br><br><br><br><br><br>
   <input readonly type="text" name="dd" id="aa" onClick="getDateString(this,oCalendarChs)" value="zzjs提示您:这里是中文">
</BODY>
</HTML>
△运行 ☉预览 #复制 +收藏
特效说明:
中英文双语日期选择器
  • 上一篇文章:
  • 下一篇文章:
  • 关于我们 - 联系我们 - 广告服务 - 在线投稿 - 友情链接 - 网站地图 - 版权声明
    CopyRight 2008-2010, CWYDESIGN.COM - 畅无忧设计, Inc. All Rights Reserved
    滇ICP备09005765号