兼容IE,FF的日历控件

转载 2007年09月11日 17:53:00
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title> New Document </title>
<meta name="Generator" c>
<meta name="Author" c>
<meta name="Keywords" c>
<meta name="Description" c>
<script language="JavaScript">
<!--
document.write("<style>");
document.write("#__calendar{width:147px;margin:0;padding:0;}");
document.write("#calendarTable{ margin:0;padding:0;border:1px solid #000;}");
document.write("th,td{margin:0;padding:0px}");
document.write("#calendarTable th ,#calendarTable td{font:12px/20px 宋体,Arial,sans-serif;text-align:center;}");
document.write("#calendarTable thead th.week{border-top:1px solid #CCC;border-bottom:1px solid #ccc;background:#EEE;}");
document.write("#calendarTable thead tr.function th{border:1px solid #fff}");
document.write("#calendarTable thead tr.top{letter-spacing:1px;}");
document.write("#calendarTable thead a{color:#000;width:19px;height:18px;text-decoration:none;display:block;border:1px solid #ccc;background:#E1F1FF;}");
document.write("#calendarTable tbody a:hover{color:#990;width:19px;height:18px;text-decoration:none;display:block;border:1px solid #ccc;background:#E1F1FF;}");
document.write("#calendarTable thead a.today{width:98% !important;width:100%}");
document.write("#calendarTable thead a.today:hover{width:98% !important;width:100%}");
document.write("#calendarTable td{width:21px;height:20px;border-bottom:1px solid #E6E6E6;color:#fff;}");
document.write("#calendarTable th{height:21px;}");
document.write("#calendarTable tr.com{background:#fff;}");
document.write("#calendarTable tr.cur{background:#F0FAFF;}");
document.write("#calendarTable tbody a{color:#000;width:19px;height:18px;text-decoration:none;display:block;border:1px solid #fff;}");
document.write("#calendarTable tbody a:hover{color:#990;width:19px;height:18px;text-decoration:none;border:1px solid #E6E6E6;background:#E1F1FF;display:block;}");
document.write("#calendarTable tbody a.today{color:#c00;border:1px solid #DBDBDB;background:#CCE4FF;}");
document.write("#calendarTable tbody a.today:hover{color:#990;border:1px solid #DBDBDB;background:#CCE4FF;}");
document.write("#calendarTable tbody a.week{color:#c00;}");
document.write("</style>");
document.write("<div id='__calendar' style='position:absolute;display:none;'></div>");
document.write("<table cellspacing=/"0/" cellpadding=/"0/" id=/"calendarTable/"><thead><tr class=/"top/"><th> </th><th colspan=/"5/" id=/"sohwdate/"></th><th><a href=/"javascript:void(0);/" title=/"close/" onclick=/"shut()/">×</a></th></tr><tr class=/"function/"><th><a href=/"javascript:void(0);/" title=/"向前翻1年/" onclick=/"preYear()/">&lt;&lt;</a></th><th><a href=/"javascript:void(0);/" title=/"向前翻1月/" onclick=/"preMonth()/">&lt;</a></th><th colspan=/"3/"><a href=/"javascript:void(0);/" class=/"today/" title=/"今天/" onclick=/"getDate('0')/">今天</a></th><th><a href=/"javascript:void(0);/" title=/"向后翻1月/" onclick=/"nextMonth()/">&gt;</a></th><th><a href=/"javascript:void(0);/" title=/"向后翻1年/" onclick=/"nextYear()/">&gt;&gt;</a></th></tr><tr><th class=/"week/">日</th><th class=/"week/">一</th><th class=/"week/">二</th><th class=/"week/">三</th><th class=/"week/">四</th><th class=/"week/">五</th><th class=/"week/">六</th></thead><tbody id=/"calendarTbody/"></tbody></table>");
var objouter;
var objInput;
var isShow = true;
objouter=document.getElementById("__calendar");
var calendarTable = document.getElementById("calendarTable");
objouter.appendChild(calendarTable);
function setday(obj){objInput = obj;writeDate();sohwDate();objouter.style.top =getAbsoluteHeight(objInput)+getAbsoluteTop(objInput);objouter.style.left =getAbsoluteLeft(objInput);objouter.style.display = "block";}
function getAbsoluteHeight(ob){return ob.offsetHeight;}
function getAbsoluteWidth(ob){return ob.offsetWidth;}
function getAbsoluteLeft(ob){var s_el=0;el=ob;while(el){s_el=s_el+el.offsetLeft;el=el.offsetParent;}; return s_el}
function getAbsoluteTop(ob){var s_el=0;el=ob;while(el){s_el=s_el+el.offsetTop ;el=el.offsetParent;}; return s_el}
­
var daysInMonth = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
var toDay = new Date();
var tempYear = toDay.getFullYear();
var tempMonth = toDay.getMonth();
var tbody = document.getElementById("calendarTbody");
var sohwId = document.getElementById("sohwdate");
function getDays(month, year)
{  
if (1 == month) return ((0 == year % 4) && (0 != (year % 100))) || (0 == year % 400) ? 29 : 28;
else return daysInMonth[month];
}
function writeDate() {  
var curCal = new Date(tempYear,tempMonth ,1);
var startDay = curCal.getDay();
var daily = 0;
var today = toDay.getDate();
if(tempYear != toDay.getFullYear() || tempMonth != toDay.getMonth()) today = -1;
var todayStyle = "";
var weekEndStyle = "";
clear();
var intDaysInMonth =getDays(curCal.getMonth(), curCal.getFullYear());
var weeks = (intDaysInMonth + startDay) % 7 == 0 ? (intDaysInMonth + startDay) / 7 : parseInt((intDaysInMonth + startDay ) / 7) + 1;
for (var intWeek = 1; intWeek <= weeks; intWeek++){
  var tr = document.createElement("tr");
  tr.setAttribute("onmouseover","javascript:this.className='cur'");  
  tr.setAttribute("onmouseout","javascript:this.className='com'");
  tr.onmouseover = function (){this.className = "cur";}
  tr.onmouseout = function (){this.className = "com";}
  for (var intDay = 0;intDay < 7;intDay++){  
   var td = document.createElement("td");
   if ((intDay == startDay) && (0 == daily))
    daily = 1;
    
   if(today == daily)  todayStyle="today";
  
   if (intDay == 6 || intDay == 0) weekEndStyle = "week" ;
  
   if ((daily > 0) && (daily <= intDaysInMonth))
   {
    td.innerHTML = "<a href=/"javascript:void(0);/" class=/""+ weekEndStyle + todayStyle +"/" onclick=/"getDate('"+daily+"')/" title=/""+eval(tempMonth+1)+"月"+daily+"日/">" + daily + "</a>";
    todayStyle = "";
    weekEndStyle = "";
    daily++;
   }else{
    td.innerHTML = " ";
    todayStyle = "";
    weekEndStyle = "";
   }  
   tr.appendChild(td);  
  }
  tbody.appendChild(tr);
}
}
function getDate(day){
var year , month ,date;
if(day == "0"){
  year = toDay.getFullYear();
  month = eval(toDay.getMonth()+1) < 10 ? "0"+eval(toDay.getMonth()+1) : eval(toDay.getMonth()+1);
  date = toDay.getDate() < 10 ? "0"+toDay.getDate() : toDay.getDate();
}else{
  year = tempYear;
  month = eval(tempMonth+1) < 10 ? "0"+eval(tempMonth+1) : eval(tempMonth+1);
  date = day < 10 ? "0"+day : day;  
}
objInput.value = year + "-" + month +"-"+ date;
close();
}
function sohwDate(){
sohwId.innerHTML = tempYear + "年" + eval(tempMonth+1) +"月";
}
function preYear(){
isShow = false;
if(tempYear > 999 && tempYear < 10000){
  tempYear--;
}else{
  alert("年份超出范围(1000-9999)!");
}
sohwDate();
writeDate();
}
function nextYear(){
isShow = false;
if(tempYear > 999 && tempYear < 10000){
  tempYear++;
}else{
  alert("年份超出范围(1000-9999)!");
}
sohwDate();
writeDate();
}
function preMonth(){
isShow = false;
if(tempMonth >= 1){tempMonth--}else{tempYear--;tempMonth = 11;}
sohwDate();
writeDate();
}
function nextMonth(){
isShow = false;
if(tempMonth == 11){tempYear++;tempMonth = 0}else{tempMonth++}
sohwDate();
writeDate();
}
function clear(){
var nodes = tbody.childNodes;
var nodesNum = nodes.length;
for(var i=nodesNum-1;i>=0;i--) {
  tbody.removeChild(nodes[i]);
}
}
function shut(){
close();
}
function close(){
tempYear = toDay.getFullYear();
tempMonth = toDay.getMonth();
objouter.style.display = "none"
objouter.style.top = 0;
objouter.style.left = 0;
}
function vent(event){
if(document.all){
  if(isShow){
   if (window.event.srcElement != objouter && window.event.srcElement != objInput) close();
   isShow = true;
   return;
  }
  isShow = true;  
}else{
  if(isShow){
   if(event.target != objouter && event.target != objInput) close();
   isShow = true;
  }
  isShow = true;
}
}
document.onclick = vent;
//-->
</script>
</head>
<body>
­
­
­
­
­
­
  <input type="text"  />
</body>
</html>
 

兼容 IE、 FireFox 的 javascript 日历控件

推荐兼容 IE、 FireFox 的 javascript 日历控件原创作者:寒羽枫(cityhunter172) 一、简介与声明            此日历控件是 CSDN 网友 KimSoft ...
  • hk200x
  • hk200x
  • 2006年12月01日 23:01
  • 917

IE和FF兼容问题

IE和FF兼容问题   2009-09-10 17:17:53|  分类: JavaScript|字号 订阅 IE和Firefox的兼容问题 1、Event的...
  • xiaofengxiaoling
  • xiaofengxiaoling
  • 2012年11月19日 17:13
  • 1538

修改Calendar日历控件 兼容IE9,谷歌,火狐

修改Calendar日历控件 兼容IE9,谷歌,火狐。 只是能用,出现的位置有所不同,希望有高手再帮我改改吧,谢谢 一、 this.iframe = window.f...
  • qm4050
  • qm4050
  • 2013年01月04日 15:40
  • 3299

播放音乐方法(兼容IE FF Chrome Opera Safari)

/** 音乐播放器 * @param obj 播放器id * @param file 音频文件 mp3: ogg: * @param loop 是否循环 */ function audi...
  • fdipzone
  • fdipzone
  • 2012年11月10日 23:16
  • 19550

兼容IE和FF的手动触发事件,并自定义Event的属性值

兼容IE和FF的手动触发事件,并自定义Event的属性值
  • tom_221x
  • tom_221x
  • 2011年01月05日 15:17
  • 1850

DIV CSS在不同IE版本和FF以及Chrome中的兼容性差异解决方法(推荐)

一些内容比之前 为了方便自己查询,省得每次遇到问题都要满世界搜,转篇实用的:DIV+CSS 与不同 IE 版本等的兼容性。 一、!important (功能有限) 随着 IE7 对 !importan...
  • GoodShot
  • GoodShot
  • 2015年03月17日 11:36
  • 2861

ecshop版本模板的放大镜,兼容ie6+ie7+ie8+ff

兼容 ie6+ie7+ie8+ff 我来说下 具体的操作步骤 【1】.先下载 mzp.packed.js 下载地址:http://www.magictoolbox.com/static/magi...
  • ximo
  • ximo
  • 2012年08月11日 22:20
  • 1170

一个兼容IE7和Chrome的日期控件

function FreeCalendar(sDate) { var c__months=new Array("一月","二月","三月","四月","五月","六月","七月","八月","...
  • u014744118
  • u014744118
  • 2017年05月08日 11:27
  • 895

Javascript获取innerText,对IE和FF的兼容性问题

ssssssssssssss     var one=document.getElementById("one");   function show(){    alert(one.inn...
  • zunguitiancheng
  • zunguitiancheng
  • 2014年07月09日 11:52
  • 483

Bootstrap日期和时间表单组件运用兼容ie8

bootstrap-datetimepicker.js支持IE8 3.引入bootstrap.min.js脚本 基本准备就绪,现在开始引入Bootstra...
  • qianqianyixiao1
  • qianqianyixiao1
  • 2014年12月29日 10:01
  • 6607
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:兼容IE,FF的日历控件
举报原因:
原因补充:

(最多只允许输入30个字)