网站首页 手机版
 注册 登录
您现在的位置: 畅无忧设计 >> 网页特效 >> 日期时间 >> 正文
最新文章
· Js简单获取系统日期/时间/星期
· 小巧实用的日历
· Js日期选择并自动加入输入框
· 可开始暂停停止的js计时器
· JavaScript日历生成器
· 动态显示当前时间并显示当前是上午还
· 中英文双语日期选择器
· 非常好用的JS日历控件ESONCalendar
· 简单的日期时间控件
· 简洁漂亮的JS日历控件代码
热门文章
 可开始暂停停止的js计时器
 可精确到分钟的js日期时间控件
 基于JQuery的日历控件
 JavaScript动态显示系统时间(带年
 一个可精确到时分秒的日期时间控件
 距离某年某月某日还有多少天
 日期时间控件My97 DatePicker 4.7 
 非常好用的JS日历控件ESONCalendar
 简洁漂亮的JS日历控件代码
 精确到毫秒的动态时间显示
相关文章
中英文双语日期选择器
简单的日期时间控件
基于JQuery的日历控件
一款比较清爽的日历控件
日期时间控件My97 DatePicker 4.7 Releas
可自由选择时间长度的js日期时间控件
站长统计中使用的js日历控件
JCalendar 日历控件 v1.0 beta
支持快捷键的javascript日期控件
一个可精确到时分秒的日期时间控件
可精确到分钟的js日期时间控件
兼容各种浏览器的日期控件
来源:畅无忧设计 更新时间:2009/12/1 23:08:07 阅读次数: 我要投稿
△运行 ☉预览 #复制 +收藏
特效代码:
<!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>兼容各种浏览器的日期控件</title>
<meta http-equiv="content-type" content="text/html;charset=gb2312">
<!--把下面代码加到<head>与</head>之间-->
<style type="text/css">
*{margin:0; padding:0;}
body{font:12px/1.5em Tahoma, Helvetica, Arial, sans-serif;}
a{text-decoration:none; color:#000;}
.inputWrap{width:500px; border:1px solid #DDD; margin:20px auto; padding:20px 30px;}
h1{margin:10px 0; padding:5px 10px; border-left:30px solid #ffd540; font-size:24px;}
input.txt{width:200px; height:16px; padding:1px; border:1px solid #999;}
/*----------------------------Star=calendar--------------------------------*/
#calWrap{position:absolute; display:none; width:148px; background:#fff; z-index:9999; border:1px solid #999;}
#dateIframe{position:absolute; z-index:-1; width:148px; height:169px; top:0; left:0; border:none; outline:none;}
#calWrap .tool,
#calWrap .week{clear:both;}
#calWrap span,
#calWrap #cal a{display:block; float:left; width:14px; height:14px; padding:2px 3px; margin:1px 0 0 1px; background:#FFBC37; cursor:pointer; text-align:center; line-height:14px;}
#calWrap .tool{background:#FFBC37;}
#calWrap .tool span{margin:0;}
#calWrap .tool #selYear{width:34px;}
#calWrap .tool #preYear,
#calWrap .tool #nextYear{width:18px;}
#calWrap .close{margin-top:1px; padding-right:3px; background:#FFBC37; clear:both; text-align:right; }
#calWrap #cal a{background:#D0DAFD; font-size:11px; text-decoration:none;}
#calWrap #cal a.curDate{background:#FFBC37;}
#calWrap #cal a:hover{background:#84A4F9;}
#calWrap #cal a.null{background:#EDF1FE;}
#calWrap #cal a.null:hover{background:#EDF1FE;}
/*----------------------------END=calendar--------------------------------*/
</style>
<script type="text/javascript">
/*-----------------------------------
calendar V1.0 2009.07.16
author:zqp
e-mail:zhoqiuping@gmail.com
website:applezqp.com
-----------------------------------*/
/*------------s-global----------*/
function $i(id){
 return document.getElementById(id);
}
function findPosX(obj){
 var curleft = 0;
 if (obj.offsetParent){
  while (obj.offsetParent){
   curleft += obj.offsetLeft
   obj = obj.offsetParent;
  }
 } else if (obj.x){
  curleft += obj.x;
 }
 return curleft;
}
function findPosY(obj){
 var curtop = 0;
 if (obj.offsetParent){
  while (obj.offsetParent){
   curtop += obj.offsetTop
   obj = obj.offsetParent;
  }
 } else if (obj.y){
  curtop += obj.y;
 }
 return curtop;
}
/*-----------e-global----------*/
var curDate={
 year:0,
 month:0,
 date:0
};
var selDate={
 year:0,
 month:0,
 date:0
};
var calWrap = null;
var outObj = null;
var outTxt = null;
var outBtn = null;
function calShow(txt, btn){
 if(typeof txt == 'string'){
  outTxt = $i(txt);
 }else{
  outTxt = txt;
 }
 outBtn = (arguments.length == 1)? null : btn;
 outObj = outBtn || outTxt;
 calWrap.style.display = "block";
 var posx = findPosX(outObj);
 var posy = findPosY(outObj);
 var objHeight = outObj.offsetHeight;
 calWrap.style.left = posx + "px";
 calWrap.style.top = (posy+objHeight) + "px";
}
function calHide(){
 calWrap.style.display = "none";
}
function preYear(){
 if( selDate.year <= 1900) return;
 selDate.year--;
 createCalendar();
}
function nextYear(){
 if( selDate.year >= 99999) return;
 selDate.year++;
 createCalendar();
}
function preMonth(){
 if( selDate.month <=0 ){
  selDate.year--;
  selDate.month = 11;
 }else{
  selDate.month--;
 }
 createCalendar();
}
function nextMonth(){
 if( selDate.month >=11 ){
  selDate.year++;
  selDate.month = 0;
 }else{
  selDate.month++;
 }
 createCalendar();
}
function setdate(j){
 var month, date;
 if( selDate.month < 9 ){
  month="0"+(selDate.month+1);
 }else{
  month=(selDate.month+1);
 }
 if( j < 10){
  date="0"+j;
 }else{
  date=j;
 }
 var str=selDate.year+"-"+month+"-"+date;
 outTxt.value = str;
 calHide();
 return false;
}
function createCalendar(){ 
 var selDay = new Date(selDate.year, selDate.month, 1).getDay();
 var selNum = new Date(selDate.year, selDate.month+1, 0).getDate();
 $i("selYear").innerHTML = selDate.year;
 $i("selMonth").innerHTML = selDate.month+1;
 var dateA = $i("cal").getElementsByTagName("a");
 for(var i=0,j=1; i<42; i++){
  dateA[i].className = "";
  if( i>=selDay && j<=selNum){
   if(selDate.year==curDate.year && selDate.month==curDate.month && j==curDate.date){
    dateA[i].className = "curDate";
   }
   dateA[i].num = dateA[i].innerHTML = j;
   dateA[i].onclick = function(){ setdate(this.num);}
   j++;
  }else{
   dateA[i].innerHTML = "";
  }
  
 }
}
function init(){
 var cur = new Date();
 selDate.year = curDate.year = cur.getFullYear();
 selDate.month = curDate.month = cur.getMonth();
 selDate.date = curDate.date = cur.getDate();
 calWrap = document.createElement("div");
 calWrap.id = "calWrap";
 document.body.appendChild(calWrap);
 var str;
 str = "<div class='tool'>"+
 "<span id='preYear' class='btn' onclick='preYear()'><<</span>"+
 "<span id='preMonth' class='btn' onclick='preMonth()'><</span>"+
 "<span id='selYear'></span>"+
 "<span id='selMonth'></span>"+
 "<span id='nextMonth' class='btn' onclick='nextMonth()'>></span>"+
 "<span id='nextYear' class='btn' onclick='nextYear()'>>></span>"+
 "</div>"+
 "<div class='week'>"+
 "<span>日</span><span>一</span><span>二</span><span>三</span><span>四</span><span>五</span><span>六</span>"+
 "</div>";
 str += "<div id='cal'>";
 for(var i=0,j=1; i<42; i++){
  str += "<a href='#'></a>";
 }
 str += "</div>"+
 "<div class='close'><a href='#' onclick='calHide()'>关闭</a></div><iframe id='dateIframe' frameborder=0></iframe>"; 
 calWrap.innerHTML = str; 
 createCalendar(); 
 document.onclick = function(e){
  var e = e || window.event;
  var srcElement = e.srcElement || e.target;
  if( srcElement != outTxt && srcElement != outBtn && srcElement.className != "btn" ){
   calHide();
  }
 };
}
window.onload = init;
</script>
</head>
<body>
<!--把下面代码加到<body>与</body>之间-->
<div class="inputWrap">
  <h1>Calendar</h1>
  <input type="text" id="txtDate" class="txt" onfocus="calShow(this)">
  <input type="button" id="btnDate" class="btn" onclick="calShow('txtDate',this)" value="Date">
</div>
</body>
</html>
△运行 ☉预览 #复制 +收藏
特效说明:
兼容各种浏览器的日期控件
  • 上一篇文章:
  • 下一篇文章:
  • 关于我们 - 联系我们 - 广告服务 - 在线投稿 - 友情链接 - 网站地图 - 版权声明
    CopyRight 2008-2010, CWYDESIGN.COM - 畅无忧设计, Inc. All Rights Reserved
    滇ICP备09005765号