模板无忧
网页特效
每日更新
|
TOP排行榜
|
Tag标签
|
充值
无忧首页
网页模板
程序模板
建站教程
视频教程
网页特效
图标素材
字体下载
站长工具
站长问答
网页特效
菜单导航
图片特效
文本链接
层和布局
页面背景
表单按钮
日期时间
计算转换
键盘鼠标
浏览器
游戏娱乐
综合其它
常用代码
jQuery特效
Prototype
Ajax/JavaScript
ExtJS
CSS特效
在线编辑器
Mootools
HTML
JS广告代码合集
站长工具
站长常用软件
网站综合查询
Alexa排名查询
Google PR查询
域名Whois查询
网站收录查询
友情链接查询
CSS2中文手册
CSS精简优化工具
网页特效代码
模板无忧
>
网页特效
>
日期时间特效代码
>
收藏
分享
查看评论
日期时间
演示
超漂亮的JS日历控件_日期时间特效
查看演示效果
特效Tag:
JS日历
日期选择
添加
超漂亮的JS日历控件,代码有些复杂。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>超漂亮的JS日历控件</title> <meta http-equiv="mrc-type" mrc="text/html;charset=gb2312"> <style type="text/css"> *{ font:12px; letter-spacing:0px; } body{ background-color:#E5E9F2; overflow:hidden; margin:0; border:0px; } #titleYear{ text-align:center; padding-top:3px; width:120px; height:20px; border:solid #E5E9F2; border-width:0px 1px 1px 0px; background-color:#A4B9D7; color:#000; cursor:default; } #weekNameBox{ width:282px; border-bottom:0; } .weekName{ text-align:center; padding-top:4px; width:40px; height:20px; border:solid #E5E9F2; border-width:0px 1px 1px 0px; background-color:#C0D0E8; color:#243F65; cursor:default; } .controlButton{ font-family: Webdings; font:9px; text-align:center; padding-top:2px; width:40px; height:20px; border:solid #E5E9F2; border-width:0px 1px 1px 0px; background-color:#A4B9D7; color:#243F65; cursor:default; } .Ctable{ width:282px; margin-bottom:20px; } .Ctable span{ font:9px verdana; font-weight:bold; color:#243F65; text-align:center; padding-top:4px; width:40px; height:26px; border:solid #C0D0E8; border-width:0px 1px 1px 0px; cursor:default; } .Cdate{ background-color:#E5E9F2; } .Ctable span.OtherMonthDate{ color:#999; background-color:#f6f6f6; } .selectBox{ cursor:hand; font:9px verdana; width:80px; position:absolute; border:1px solid #425E87; overflow-y:scroll; overflow-x:hidden; background-color:#fff; FILTER:progid:DXImageTransform.Microsoft.Shadow(Color=#999999,offX=10,offY=10,direction=120,Strength=5); SCROLLBAR-FACE-COLOR: #E5E9F2; SCROLLBAR-HIGHLIGHT-COLOR: #E5E9F2; SCROLLBAR-SHADOW-COLOR: #A4B9D7; SCROLLBAR-3DLIGHT-COLOR: #A4B9D7; SCROLLBAR-ARROW-COLOR: #000000; SCROLLBAR-TRACK-COLOR: #eeeee6; SCROLLBAR-DARKSHADOW-COLOR: #ffffff; } .selectBox nobr{ padding:0px 0px 2px 5px; width:100%; color:#000; letter-spacing:2px; text-decoration:none; } </style> <script language="javascript"> // cody by [STAR].sjz 2003-10-31 // 说明:返回值为 一个字符串 // 格式如下: // 使用方法: // var dataString = showModalDialog("calendar.htm", "dd日mm月yyyy年", "dialogWidth:286px;dialogHeight:221px;status:no;help:no;"); var userFormatString; if(window.dialogArguments ==null) { userFormatString = "yyyy-mm--dd"; } else { userFormatString = window.dialogArguments; } with(new Date()){ var Nyear = getYear(); var Nmonth = getMonth() +1; var Ndate = getDate(); } window.returnValue = new dataObj(Nyear,Nmonth,Ndate ).getDateString(userFormatString); window.document.onclick = function(){ var obj = window.event.srcElement; if(obj.tagName.toLowerCase() == "span" && obj.parentNode.className.replace(/Ctable/ig,"star") == "star" ) { try{ window.currentActiveItem.runtimeStyle.cssText = ""; } catch(e){ } Nyear = obj.id.split("-")[0]; Nmonth = obj.id.split("-")[1]; Ndate = obj.id.split("-")[2]; window.currentActiveItem = obj; window.currentSelectDate = window.currentActiveItem.id; window.currentActiveItem.runtimeStyle.cssText = "1122123
2244234background:url(http://p1.mb5u.com/texiao/6/20100522231642339.gif) no-repeat 12px 6px;color:#000;padding-top:1px;font-weight:bold"; } } function dataObj(year,month,date) { this.year = year this.month = month this.date = date this.getDateString = function(formatString) { return formatString.replace(/yyyy/ig , this.year).replace(/mm/ig , this.month).replace(/dd/ig , this.date) } } window.onload = function(){ window.document.attachEvent("onclick" , doCmd); window.document.attachEvent("onmouseover" , buttonOver); window.document.attachEvent("onmouseout" , buttonOut); window.document.attachEvent("onmousedown" , buttonDown); window.document.attachEvent("onmouseup" , buttonUp); window.document.attachEvent("ondblclick" , function() { var obj = window.event.srcElement; if(obj.tagName.toLowerCase() == "span" && obj.parentNode.className.replace(/Ctable/ig,"star") == "star" ) { var mydate = new dataObj(obj.id.split("-")[0] , obj.id.split("-")[1] , obj.id.split("-")[2] ); window.returnValue = mydate.getDateString(userFormatString) window.close(); } } ); document.all.titleYear.innerHTML=TranYearMonthTitle(Nyear,Nmonth); document.all.weekNameBox.insertAdjacentHTML("afterBegin",makeWeekNameHtmlStr()); document.all.calendarBox.innerHTML=makeCalendarHtmlStr(Nyear,Nmonth); window.currentSelectDate = starCaTran(Nyear,Nmonth,Ndate); window.document.all.calendarBox.show = show; window.currentActiveItem = window.document.getElementById(currentSelectDate); if( window.currentActiveItem ) window.currentActiveItem.click(); window.document.all.calendarBox.show(); } function starCalendar(year,month){ this.year = year; this.month = month; this.monthTable = function(){ var aMonth=new Array(); for(i=1;i<7;i++)aMonth[i]=new Array(i); var dCalDate=new Date(this.year, this.month-1, 1); var iDayOfFirst=dCalDate.getDay(); var iDaysInMonth=new Date(this.year, this.month, 0).getDate(); var iOffsetLast=new Date(this.year, this.month-1, 0).getDate()-iDayOfFirst+1; var iDate = 1; var iNext = 1; for (d = 0; d < 7; d++) aMonth[1][d] = (d<iDayOfFirst)?(-iDayOfFirst+d+1):iDate++; for (w = 2; w < 7; w++) for (d = 0; d < 7; d++) aMonth[w][d] = iDate++; return aMonth; } } function makeWeekNameHtmlStr(){ var tmpStr=""; var weekName = ["日","一","二","三","四","五","六"]; for(var i=0;i<7;i++)tmpStr+="<span class=weekName>"+weekName[i]+"</span>"; return tmpStr; } function makeCalendarHtmlStr(year,month){ window.theCalendar = new starCalendar(year,month); var theCaArr = theCalendar.monthTable(); var theDaysInMonth = new Date(year, month, 0).getDate(); var theCaHtml = "<div class=Ctable>"; for(var i=1;i<7;i++) for(var j=0;j<7;j++) theCaHtml = theCaHtml+"<span class="+( (theCaArr[i][j]<1 || theCaArr[i][j]>theDaysInMonth)?"OtherMonthDate":"Cdate")+" id="+starCaTran(year,month,theCaArr[i][j])+">"+starCaTran(year,month,theCaArr[i][j]).split("-")[2]+"</span>"; return theCaHtml+"</div>"; } function starCaTran(year,month,date){ with(new Date(year,month-1,date)) return getYear() + "-" +(getMonth()+1) + "-" + getDate(); } function TranYearMonthTitle(year,month){ with(new Date(year,month-1,1)) return "<span style='text-decoration:underline;cursor:hand;font-weight:bold;padding:1 2 0 1;width:40px;' onclick=showMore(1940,2050,this.innerHTML) onmouseover=\"this.runtimeStyle.cssText='color:#fff;'\" onmouseout=\"this.runtimeStyle.cssText=''\" onpropertychange=showC()>" + getYear() + "</span>" + "年" + "<span style='text-decoration:underline;cursor:hand;font-weight:bold;padding:1 2 0 1;width:20px;' onclick=showMore(1,12,this.innerHTML) onmouseover=\"this.runtimeStyle.cssText='color:#fff;'\" onmouseout=\"this.runtimeStyle.cssText=''\" onpropertychange=showC()>" + (getMonth()+1) + "</span>" + "月" ; } function showC(){ if(event.propertyName != "innerHTML")return; window.theCalendar.year = new Number(document.all.titleYear.getElementsByTagName("span")[0].innerHTML); window.theCalendar.month = new Number(document.all.titleYear.getElementsByTagName("span")[1].innerHTML); window.document.all.calendarBox.innerHTML=makeCalendarHtmlStr(window.theCalendar.year,window.theCalendar.month); window.document.all.calendarBox.show = show;window.document.all.calendarBox.show(); } function showMore(starNum,endNum,selectedValue){ var obj = window.event.srcElement; var selectedIndex = selectedValue - starNum; if(obj.selectBox){ obj.selectBox.selectedIndex = selectedIndex; return obj.selectBox.show(document.all.calendarBox.offsetHeight + document.all.weekNameBox.offsetHeight ); } var selectBox = window.document.createElement("div"); selectBox.className = "selectBox"; selectBox.style.height = 0; selectBox.style.top = window.event.clientY - window.event.offsetY + window.event.srcElement.offsetHeight; selectBox.style.left = window.event.clientX - window.event.offsetX ; selectBox.show = showBox; selectBox.selectedIndex = selectedIndex; selectBox.onclick = function(){ var selectedObj = window.event.srcElement; if( "nobr" == selectedObj.tagName.toLowerCase() && selectBox.contains(selectedObj)) { if(obj.innerHTML != selectedObj.innerHTML)obj.innerHTML = selectedObj.innerHTML; } } selectBox.onlosecapture = alert var iString = ""; for(var i=starNum;i<=endNum;i++){ iString += "<nobr onmouseover=\"this.parentNode.getElementsByTagName('nobr')[this.parentNode.selectedIndex].style.cssText='';this.style.cssText='background-color:#00006C;color:#fff;'\" onmouseout=this.style.cssText=''>"+i+"</nobr><br>" } selectBox.insertAdjacentHTML ("afterBegin",iString); window.document.body.appendChild(selectBox); obj.selectBox = selectBox; obj.selectBox.show(document.all.calendarBox.offsetHeight + document.all.weekNameBox.offsetHeight ); } function showBox(iHeight) { var box = this; box.style.height =1; box.style.display = "block"; window.clearInterval(box.timeHandle); box.timeHandle = window.setInterval(interValHandle,1); var s = 0,t =1 ; function interValHandle() { box.scrollTop=1000000; s = s + t*t; t += 0.5; box.style.height = parseInt(box.style.height) + Math.floor(s); box.style.width = 65 / iHeight * box.offsetHeight; if( box.offsetHeight > iHeight ) { window.clearInterval(box.timeHandle); box.style.height = iHeight; box.scrollTop = box.childNodes[0].offsetHeight*box.selectedIndex; box.getElementsByTagName("nobr")[box.selectedIndex].style.cssText='background-color:#00006C;color:#fff;'; window.document.attachEvent("onclick", box.hide=function() { box.style.display = "none"; window.document.detachEvent("onclick",box.hide) } ); } } } </script> <script language="javascript"> function buttonOver(){ var obj = window.event.srcElement; if(obj.tagName.toLowerCase() == "span" && obj.className.replace(/controlButton/ig,"star") == "star" ) { obj.runtimeStyle.cssText="border-color:#fff #606060 #808080 #fff;padding:3 0 0 0 "; } if(obj.tagName.toLowerCase() == "span" && obj.parentNode.className.replace(/Ctable/ig,"star") == "star" ) { obj.style.backgroundColor = "#fff"; } } function buttonOut(){ var obj = window.event.srcElement; if(obj.tagName.toLowerCase() == "span" && obj.className.replace(/controlButton/ig,"star") == "star" ) { obj.runtimeStyle.cssText = ""; } if(obj.tagName.toLowerCase() == "span" && obj.parentNode.className.replace(/Ctable/ig,"star") == "star" ) { window.setTimeout(function(){obj.style.backgroundColor = ""; },300); } } function buttonDown(){ var obj = window.event.srcElement; if(obj.tagName.toLowerCase() == "span" && obj.className.replace(/controlButton/ig,"star") == "star" ) { obj.setCapture(); obj.runtimeStyle.borderColor="#808080 #fefefe #fefefe #808080"; } } function buttonUp(){ var obj = window.event.srcElement; if(obj.tagName.toLowerCase() == "span" && obj.className.replace(/controlButton/ig,"star") == "star" ) { obj.releaseCapture(); obj.runtimeStyle.cssText =""; } } function doCmd(){ var obj = window.event.srcElement; if(obj.tagName.toLowerCase() == "span" && obj.className.replace(/controlButton/ig,"star") == "star" ) { switch(obj.getAttribute("cmd")) { case "py": window.document.all.titleYear.innerHTML=window.TranYearMonthTitle(window.theCalendar.year-1,window.theCalendar.month); window.document.all.calendarBox.innerHTML=makeCalendarHtmlStr(window.theCalendar.year-1,window.theCalendar.month); break; case "pm": window.document.all.titleYear.innerHTML=window.TranYearMonthTitle(window.theCalendar.year,window.theCalendar.month-1); window.document.all.calendarBox.innerHTML=makeCalendarHtmlStr(window.theCalendar.year,window.theCalendar.month-1); break; case "nm": window.document.all.titleYear.innerHTML=window.TranYearMonthTitle(window.theCalendar.year,window.theCalendar.month+1); window.document.all.calendarBox.innerHTML=makeCalendarHtmlStr(window.theCalendar.year,window.theCalendar.month+1); break; case "ny": window.document.all.titleYear.innerHTML=window.TranYearMonthTitle(window.theCalendar.year+1,window.theCalendar.month); window.document.all.calendarBox.innerHTML=makeCalendarHtmlStr(window.theCalendar.year+1,window.theCalendar.month); break; } window.document.all.calendarBox.show(); window.currentSelectDate = starCaTran(Nyear,Nmonth,Ndate); window.currentActiveItem = window.document.getElementById(currentSelectDate); if( window.currentActiveItem )window.currentActiveItem.runtimeStyle.cssText = "1122123
2244234background:url(http://p1.mb5u.com/texiao/6/20100522231642340.gif) no-repeat 12px 6px;color:#000;padding-top:1px;font-weight:bold"; } } function show() { var box = this; window.clearTimeout(box.timeHandle); var CdateBoxs = this.getElementsByTagName("span"); for(var i=0;i<CdateBoxs.length;i++) { CdateBoxs[i].defaultValue = new Number( CdateBoxs[i].innerHTML ); CdateBoxs[i].innerHTML = 0; } showDate(); function showDate(){ for(var i=0;i<CdateBoxs.length;i++){ if( new Number( CdateBoxs[i].innerHTML ) + 1 <= new Number( CdateBoxs[i].defaultValue ) ) CdateBoxs[i].innerHTML = new Number( CdateBoxs[i].innerHTML ) + 1 } box.timeHandle = window.setTimeout(showDate,1); } this.show = show1 } function show1() { var box = this; window.clearTimeout(box.timeHandle); var CdateBoxs = this.getElementsByTagName("span"); for(var i=0;i<CdateBoxs.length;i++)CdateBoxs[i].style.display = "none"; showDate(CdateBoxs[0]); function showDate(obj){ if( !obj )return; obj.style.display = "inline"; box.timeHandle = window.setTimeout(function(){showDate(obj.nextSibling);},1); } this.show = show } /* function show() { } */ </script> </head> <body onselectstart="return false"> <div style="margin:0 0 0 0;"> <div id="controlBar"><span class="controlButton" cmd="py" title="上一年">33</span><span class="controlButton" cmd="pm" title="上一月">3</span><span id="titleYear"></span><span class="controlButton" cmd="nm" title="下一月">4</span><span class="controlButton" cmd="ny" title="下一年">44</span></div> <div id="weekNameBox"></div> <div id="calendarBox"></div> </div> </body> </html>
所属频道:
日期时间特效
/
更新时间:2012-12-17
[收藏]
[报错]
[返回列表]
相关
日期时间特效
:
一款漂亮的日历脚本
柱状时钟
计算圆周率
随机数据显示功能、选号器
层时钟
跟随时钟
在线日历
一个倒记时
显示登陆时间
知道两点的坐标计算机出他们之间的距离
跟随鼠标的时钟
日期时间信息 Script
日期时间特效Rss订阅
特效代码搜索
日期时间特效推荐
科学计算器
全中文日期显示
标题日期
一个显示离开某事件的时间的提醒牌
八种风格的时间日期
根据鼠标判断时间:Js倒计时
停止查看 Script
JS日期输入框控件,点击文本框自动弹出
柱状时钟
倒计时
猜你也喜欢看这些
JS实现气泡从水中急速上升效果
JavaScript生成随机整数的代码
一个简单的JS加密函数
JS复利计算程序网页版
JavaScript数字排序
计算文本框允许输入字符的百分比
人民币大小写转换(JavaScript)
KB、MB转换程序
JavaScript对Email地址加密
Table+JavaScript表格排序
相关链接:
复制本页链接
|
搜索超漂亮的JS日历控件
特效说明:
日期时间模板
-
超漂亮的JS日历控件
。