网页特效代码┊JsCode.CN
网站首页
网页特效
精品特效推荐
网页制作教程
网页模版
网页素材
字体下载
学习论坛
鼠标特效
页面特效
背景特效
导航菜单
状态栏类
文本特效
链接特效
图形特效
窗口特效
按钮特效
时间日期
CSS相关
代码生成
计数转换
游戏娱乐
系统相关
黑客性质
综合特效
网页特效
网页教程
模版素材
字体下载
您的位置:
首页
>
网页特效代码
> 时间日期
┊
本类推荐信息
又一款非常不错的日期选择...
很不错的一款日期输入控件...
极品推荐输入框日期选择效...
非常不错的日期选择风格
又一款很不错的万年历查询...
极品万年历
本类热门点击
很不错的一款日期输入控件...
非常不错的日期选择风格
年月日时分秒的即时显示
极品推荐输入框日期选择效...
超强超靓网页日历代码
一个很漂亮实用的日历
最简单的全日制时间显示,...
外圈是年月日内圈为JavaSc...
极品万年历
又一款很不错的万年历查询...
又一款非常不错的日期选择效果
[ 发布者:未知┊来源:网页特效观止┊时间:2007-10-20┊浏览:
人次 ]
该效果可用在输入标准格式的日期选框中
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>网页特效观止|JsCode.CN|---又一款非常不错的日期选择效果</title> <script type="text/javascript"> function HS_DateAdd(interval,number,date){ number = parseInt(number); if (typeof(date)=="string"){var date = new Date(date.split("-")[0],date.split("-")[1],date.split("-")[2])} if (typeof(date)=="object"){var date = date} switch(interval){ case "y":return new Date(date.getFullYear()+number,date.getMonth(),date.getDate()); break; case "m":return new Date(date.getFullYear(),date.getMonth()+number,checkDate(date.getFullYear(),date.getMonth()+number,date.getDate())); break; case "d":return new Date(date.getFullYear(),date.getMonth(),date.getDate()+number); break; case "w":return new Date(date.getFullYear(),date.getMonth(),7*number+date.getDate()); break; } } function checkDate(year,month,date){ var enddate = ["31","28","31","30","31","30","31","31","30","31","30","31"]; var returnDate = ""; if (year%4==0){enddate[1]="29"} if (date>enddate[month]){returnDate = enddate[month]}else{returnDate = date} return returnDate; } function WeekDay(date){ var theDate; if (typeof(date)=="string"){theDate = new Date(date.split("-")[0],date.split("-")[1],date.split("-")[2]);} if (typeof(date)=="object"){theDate = date} return theDate.getDay(); } function HS_calender(){ var lis = ""; var style = ""; /*可以把下面的css剪切出去独立一个css文件webjx.com*/ style +="<style type='text/css'>"; style +=".calender { width:170px; height:auto; font-size:12px; margin-right:14px; background:url(calenderbg.gif) no-repeat right center #fff; border:1px solid #397EAE; padding:1px}"; style +=".calender ul {list-style-type:none; margin:0; padding:0;}"; style +=".calender .day { background-color:#EDF5FF; height:20px;}"; style +=".calender .day li,.calender .date li{ float:left; width:14%; height:20px; line-height:20px; text-align:center}"; style +=".calender li a { text-decoration:none; font-family:Tahoma; font-size:11px; color:#333}"; style +=".calender li a:hover { color:#f30; text-decoration:underline}"; style +=".calender li a.hasArticle {font-weight:bold; color:#f60 !important}"; style +=".lastMonthDate, .nextMonthDate {color:#bbb;font-size:11px}"; style +=".selectThisYear a, .selectThisMonth a{text-decoration:none; margin:0 2px; color:#000; font-weight:bold}"; style +=".calender .LastMonth, .calender .NextMonth{ text-decoration:none; color:#000; font-size:18px; font-weight:bold; line-height:16px;}"; style +=".calender .LastMonth { float:left;}"; style +=".calender .NextMonth { float:right;}"; style +=".calenderBody {clear:both}"; style +=".calenderTitle {text-align:center;height:20px; line-height:20px; clear:both}"; style +=".today { background-color:#ffffaa;border:1px solid #f60; padding:2px}"; style +=".today a { color:#f30; }"; style +=".calenderBottom {clear:both; border-top:1px solid #ddd; padding: 3px 0; text-align:left}"; style +=".calenderBottom a {text-decoration:none; margin:2px !important; font-weight:bold; color:#000}"; style +=".calenderBottom a.closeCalender{float:right}"; style +=".closeCalenderBox {float:right; border:1px solid #000; background:#fff; font-size:9px; width:11px; height:11px; line-height:11px; text-align:center;overflow:hidden; font-weight:normal !important}"; style +="</style>"; var now; if (typeof(arguments[0])=="string"){ selectDate = arguments[0].split("-"); var year = selectDate[0]; var month = parseInt(selectDate[1])-1+""; var date = selectDate[2]; now = new Date(year,month,date); }else if (typeof(arguments[0])=="object"){ now = arguments[0]; } var lastMonthEndDate = HS_DateAdd("d","-1",now.getFullYear()+"-"+now.getMonth()+"-01").getDate(); var lastMonthDate = WeekDay(now.getFullYear()+"-"+now.getMonth()+"-01"); var thisMonthLastDate = HS_DateAdd("d","-1",now.getFullYear()+"-"+(parseInt(now.getMonth())+1).toString()+"-01"); var thisMonthEndDate = thisMonthLastDate.getDate(); var thisMonthEndDay = thisMonthLastDate.getDay(); var todayObj = new Date(); today = todayObj.getFullYear()+"-"+todayObj.getMonth()+"-"+todayObj.getDate(); for (i=0; i<lastMonthDate; i++){ // Last Month's Date lis = "<li class='lastMonthDate'>"+lastMonthEndDate+"</li>" + lis; lastMonthEndDate--; } for (i=1; i<=thisMonthEndDate; i++){ // Current Month's Date if(today == now.getFullYear()+"-"+now.getMonth()+"-"+i){ var todayString = now.getFullYear()+"-"+(parseInt(now.getMonth())+1).toString()+"-"+i; lis += "<li><a href=javascript:void(0) class='today' onclick='_selectThisDay(this)' title='"+now.getFullYear()+"-"+(parseInt(now.getMonth())+1)+"-"+i+"'>"+i+"</a></li>"; }else{ lis += "<li><a href=javascript:void(0) onclick='_selectThisDay(this)' title='"+now.getFullYear()+"-"+(parseInt(now.getMonth())+1)+"-"+i+"'>"+i+"</a></li>"; } } var j=1; for (i=thisMonthEndDay; i<6; i++){ // Next Month's Date lis += "<li class='nextMonthDate'>"+j+"</li>"; j++; } lis += style; var CalenderTitle = "<a href='javascript:void(0)' class='NextMonth' onclick=HS_calender(HS_DateAdd('m',1,'"+now.getFullYear()+"-"+now.getMonth()+"-"+now.getDate()+"'),this) title='Next Month'>»</a>"; CalenderTitle += "<a href='javascript:void(0)' class='LastMonth' onclick=HS_calender(HS_DateAdd('m',-1,'"+now.getFullYear()+"-"+now.getMonth()+"-"+now.getDate()+"'),this) title='Previous Month'>«</a>"; CalenderTitle += "<span class='selectThisYear'><a href='javascript:void(0)' onclick='CalenderselectYear(this)' title='Click here to select other year' >"+now.getFullYear()+"</a></span>年<span class='selectThisMonth'><a href='javascript:void(0)' onclick='CalenderselectMonth(this)' title='Click here to select other month'>"+(parseInt(now.getMonth())+1).toString()+"</a></span>月"; if (arguments.length>1){ arguments[1].parentNode.parentNode.getElementsByTagName("ul")[1].innerHTML = lis; arguments[1].parentNode.innerHTML = CalenderTitle; }else{ var CalenderBox = style+"<div class='calender'><div class='calenderTitle'>"+CalenderTitle+"</div><div class='calenderBody'><ul class='day'><li>日</li><li>一</li><li>二</li><li>三</li><li>四</li><li>五</li><li>六</li></ul><ul class='date' id='thisMonthDate'>"+lis+"</ul></div><div class='calenderBottom'><a href='javascript:void(0)' class='closeCalender' onclick='closeCalender(this)'>×</a><span><span><a href=javascript:void(0) onclick='_selectThisDay(this)' title='"+todayString+"'>Today</a></span></span></div></div>"; return CalenderBox; } } function _selectThisDay(d){ var boxObj = d.parentNode.parentNode.parentNode.parentNode.parentNode; boxObj.targetObj.value = d.title; boxObj.parentNode.removeChild(boxObj); } function closeCalender(d){ var boxObj = d.parentNode.parentNode.parentNode; boxObj.parentNode.removeChild(boxObj); } function CalenderselectYear(obj){ var opt = ""; var thisYear = obj.innerHTML; for (i=1970; i<=2020; i++){ if (i==thisYear){ opt += "<option value="+i+" selected>"+i+"</option>"; }else{ opt += "<option value="+i+">"+i+"</option>"; } } opt = "<select onblur='selectThisYear(this)' onchange='selectThisYear(this)' style='font-size:11px'>"+opt+"</select>"; obj.parentNode.innerHTML = opt; } function selectThisYear(obj){ HS_calender(obj.value+"-"+obj.parentNode.parentNode.getElementsByTagName("span")[1].getElementsByTagName("a")[0].innerHTML+"-1",obj.parentNode); } function CalenderselectMonth(obj){ var opt = ""; var thisMonth = obj.innerHTML; for (i=1; i<=12; i++){ if (i==thisMonth){ opt += "<option value="+i+" selected>"+i+"</option>"; }else{ opt += "<option value="+i+">"+i+"</option>"; } } opt = "<select onblur='selectThisMonth(this)' onchange='selectThisMonth(this)' style='font-size:11px'>"+opt+"</select>"; obj.parentNode.innerHTML = opt; } function selectThisMonth(obj){ HS_calender(obj.parentNode.parentNode.getElementsByTagName("span")[0].getElementsByTagName("a")[0].innerHTML+"-"+obj.value+"-1",obj.parentNode); } function HS_setDate(inputObj){ var calenderObj = document.createElement("span"); calenderObj.innerHTML = HS_calender(new Date()); calenderObj.style.position = "absolute"; calenderObj.targetObj = inputObj; inputObj.parentNode.insertBefore(calenderObj,inputObj.nextSibling); } </script> <style> body {font-size:12px} td {text-align:center} h1 {font-size:26px;} h4 {font-size:16px;} em {color:#999; margin:0 10px; font-size:11px; display:block} </style> </head> <body> <h1>Date Picker</h1> <h4 style="border-bottom:1px solid #ccc">ver:1.0</h4> <table border="1" width="400" height="150"> <tr> <td>文本文本文本</td> <td>点击输入框</td> <td>文本文本文本</td> </tr> <tr> <td>点击输入框</td> <td><input type="text" style="width:70px" onfocus="HS_setDate(this)">文本</td> <td>文本文本文本</td> </tr> <tr> <td>文本文本文本</td> <td>点击输入框</td> <td>文本<input type="text" style="width:70px" onfocus="HS_setDate(this)">文本</td> </tr> </table> <ul> <li>不需要其他框架类库</li> <li>支持ie6、firefox、opera</li> <li>点击年份与月份可以下拉选择</li> </ul> </body> </html>
预览效果
全选复制
下载保存
添加收藏
使用讨论
错误报告
关闭此页
TAGS:
日期
选择
下一个特效
:
在您的网页里加入北京奥运倒计时的代码
本类相关信息
弹出选择日期效果(一)
弹出选择日期效果(一)
弹出选择日期效果(二)
弹出选择日期效果(二)
弹出选择日期效果(三)
弹出选择日期效果(三)
无限扩展的年份select
无限扩展的年份select