⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 yscalendar.js

📁 跨浏览器日期控件
💻 JS
📖 第 1 页 / 共 2 页
字号:
/* * Author: squirrel(3674297) * CreateDate: 20060419 * EMAIL:yus_703@hotmail.com;yus_703@163.com * ModifyDate: 20060502 */var YsBeginDay="";var YsEndDay="";var maxYear=2056;var minYear=1956;var useGb = false;var useTitle = false;document.write("<style>.ys_pop{border:#8F8F73 1px solid;}</style>");function YsCalendar(){	this.regInfo    = "YS Calendar ver 1.0&#13;作者:squirrel(3674297)&#13;网站:http://www.scys.cn/&#13";	this.regInfo   += "&#13;Ver 1.0:squirrel(3674297)";	this.daysMonth  = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);	this.weekday	= new Array(0,1,2,3,4,5,6);	this.day        = new Array(38);this.dayObj     = new Array(38); 	this.dateStyle  = null; 	this.objExport  = null; 	this.inputDate  = null;  	this.thisYear   = new Date().getFullYear();	this.thisMonth  = new Date().getMonth()+ 1; 	this.thisDay    = new Date().getDate(); 	this.today      = this.thisDay +"/"+ this.thisMonth +"/"+ this.thisYear; 	this.frmobj;this.dateReg    = /^(\d{1,4})(-|\/|.)(\d{1,2})\2(\d{1,2})$/; 	this.yearFall   = 50;  	this.format     = "yyyy-mm-dd"; this.darkColor  = "#FFFFFF";   	this.lightColor = "#FF0000";  	this.btnBgColor = "#FFFFFF";   	this.wordColor  = "#000000";   	this.wordDark   = "#DCDCDC";   	this.dayBgColor = "#FFFFFF";  	this.todayColor = "#0000FF";  	this.DarkBorder = "#FFFFFF";  	this.HeadBgColor= "#808080";	this.HeadColor  = "#FFFFFF";	this.Top		= 0;			this.Left		= 0;	this.BeginDay	= YsBeginDay;	this.EndDay		= YsEndDay;		this.maxYear	= maxYear; 	this.minYear	= minYear;	this.useGb		= useGb;		this.useTitle	= useTitle;	};var YCalendar = new YsCalendar();function Hide(){try{YCalendar.frmobj.width=YCalendar.frmobj.height=0;document.body.removeChild(YCalendar.frmobj);YCalendar.frmobj=null;}catch(e){}};function calender(obj){if(YCalendar.frmobj!=null)return ;var fname="ysdate";	YCalendar.objExport=obj;GetAbsLoc(obj);	YCalendar.frmobj=window.document.createElement("iframe");	YCalendar.frmobj.id=fname;YCalendar.frmobj.name=fname;	YCalendar.frmobj.frameBorder="0";	YCalendar.frmobj.scrolling="no";YCalendar.frmobj.style.position="absolute";	YCalendar.frmobj.className="ys_pop";	YCalendar.frmobj.style.left=YCalendar.Left;	YCalendar.frmobj.style.top=YCalendar.Top;	YCalendar.frmobj.width=140;	YCalendar.frmobj.height=166;YCalendar.frmobj.style.zIndex=1000;	window.document.body.appendChild(YCalendar.frmobj);	cDocument=YCalendar.frmobj.contentWindow.document;	cDocument.open();cDocument.write("");cDocument.close();	cDocument.body.style.margin=cDocument.body.style.padding="0px";	YCalendar.frmobj.onblur=Hide;writecalender();	try{if (YCalendar.objExport.value != ""){if(YCalendar.useGb){var tmpValue = YCalendar.objExport.value;	tmpValue=charReplace(tmpValue,'年','-','g');	tmpValue=charReplace(tmpValue,'月','-','g');	var a = tmpValue.split("-");a[1]=charReplace(a[1],'十','10','g');a[2]=charReplace(a[2],'三十一','31','g');a[2]=charReplace(a[2],'廿十','20','g');				a[2]=charReplace(a[2],'三十','30','g');a[2]=charReplace(a[2],'廿一','21','g');a[2]=charReplace(a[2],'廿','2','g');	if(a[2].length==1){a[2]=charReplace(a[2],'十','10','g');}else{a[2]=charReplace(a[2],'十','1','g');}tmpValue=a[0]+'-'+appendZero(a[1])+'-'+appendZero(a[2]);	tmpValue=charReplace(tmpValue,'○','0','g');tmpValue=charReplace(tmpValue,'一','1','g');	tmpValue=charReplace(tmpValue,'二','2','g');tmpValue=charReplace(tmpValue,'三','3','g');tmpValue=charReplace(tmpValue,'四','4','g');tmpValue=charReplace(tmpValue,'五','5','g');		tmpValue=charReplace(tmpValue,'六','6','g');tmpValue=charReplace(tmpValue,'七','7','g');		tmpValue=charReplace(tmpValue,'八','8','g');tmpValue=charReplace(tmpValue,'九','9','g');		YCalendar.inputDate=tmpValue;}	if(YCalendar.useGb){YCalendar.dateStyle = YCalendar.inputDate.match(YCalendar.dateReg);}else{YCalendar.dateStyle = YCalendar.objExport.value.match(YCalendar.dateReg);}		if (YCalendar.dateStyle == null){YCalendar.thisYear   = new Date().getFullYear();	YCalendar.thisMonth  = new Date().getMonth()+ 1;YCalendar.thisDay    = new Date().getDate();	}else{YCalendar.thisYear   = parseInt(YCalendar.dateStyle[1], 10);	YCalendar.thisMonth  = parseInt(YCalendar.dateStyle[3], 10);YCalendar.thisDay    = parseInt(YCalendar.dateStyle[4], 10);	YCalendar.inputDate  = parseInt(YCalendar.thisDay, 10) +"/"+ parseInt(YCalendar.thisMonth, 10) +"/"+	parseInt(YCalendar.thisYear, 10);}}}catch(e){}printCalendar();};function writecalender(){	var strIframe = "<html><head><meta http-equiv='Content-Type' content='text/html; charset=gb2312'>"+	"<style>body{font-size: 12px; font-family: 宋体}"+	".bg{font-size: 12px; font-family: 宋体;cursor: default;color:"+YCalendar.HeadColor+";}"+	".tile{font-size: 12px; font-family: 宋体;cursor: default;}"+	".bg1{cursor: default;color:"+YCalendar.HeadColor+";font-size: 12px; font-family: Wingdings 3;}"+	"table#tableMain{ width: 142; height: 180;font-size: 12px; font-family: 宋体}"+	".out { font-size: 12px; font-family: 宋体;text-align: center;border-top: 1px solid #ffffff; border-left: 1px solid #ffffff;border-bottom: 1px solid #ffffff; border-right: 1px solid #ffffff}"+	".day {border:0;cursor: default;font-size: 12px; font-family: 宋体;}"+	".show{border:0;width:20px;cursor: default;font-size: 12px; font-family: 宋体;}"+	".showyear{border:0;width:45px;cursor: default;font-size: 12px; font-family: 宋体;}"+	".over{ font-size: 12px; font-family: 宋体;text-align: center; border-top: 1px solid #990000; border-left: 1px solid #990000;border-bottom: 1px solid #990000; border-right: 1px solid #990000}"+	"input{ font-size: 12px; font-family: 宋体;border: 1px solid "+ YCalendar.darkColor +"; padding-top: 1px; height: 18; cursor: hand;"+" color:"+ YCalendar.wordColor +"; background-color: "+ YCalendar.btnBgColor +"}"+	"</style></head><body onload='focus();' onselectstart='return false' style='margin: 0px' oncontextmenu='return false'>";	strIframe += "<select name='tmpYearSelect' onblur='parent.hiddenSelect(this)' id='tmpYearSelect' class='body' style='z-index:1;position:absolute;width:53px;top:3;left:18;display:none' onchange='parent.YCalendar.thisYear =this.value; parent.hiddenSelect(this); parent.printCalendar();'></select>"+	"<select name='tmpMonthSelect' onblur='parent.hiddenSelect(this)' id='tmpMonthSelect' style='z-index:1; position:absolute;top:3;left:74;width:35px;display:none' onchange='parent.selectM(this)'></select>";	strIframe += "<table id=tableMain class=bg border=0 cellspacing=0 cellpadding=0>"+	"<tr><td width=140 height=19 bgcolor='"+YCalendar.HeadBgColor+"'>"+	"<table width=140 id=tableHead border=0 cellspacing=1 cellpadding=0><tr align=center>"+	"<td width=30 height=19 class=bg><table width='100%'><tr><td height=19 class=bg title='上一年' style='cursor: hand' onclick='parent.prevY()'><font face='Wingdings 3'>||</font></td>"+	"<td height=19 class=bg title='上一月' style='cursor: hand' onclick='parent.prevM()'><font face='Wingdings 3'>|</font></td></tr></table></td>"+	"<td width=50 id=ysYearHead title='点击选择年份' align='right' class=bg onclick='parent.funYearSelect(parseInt(this.innerHtml, 10))'></td>"+	"<td width=40 id=ysYearMonth title='点击选择月份' align='left' class=bg onclick='parent.funMonthSelect(parseInt(this.innerHtml, 10))'></td>"+	"<td width=30 class=bg><table width='100%'><tr><td height=19 class=bg title='下一月' style='cursor: hand' onclick='parent.nextM()'><font face='Wingdings 3'>}</font></td>"+	"<td height=19 class=bg title='下一年' style='cursor: hand' onclick='parent.nextY()'><font face='Wingdings 3'>}}</font></td></tr></table></td></tr></table>"+"</td></tr><tr><td height=20><table id='tableWeek' border=0 width=140 cellpadding=0 cellspacing=0>";	strIframe += "<tr align=center class=tile><td height='20'>日</td><td>一</td><td>二</td><td>三</td><td>四</td><td>五</td><td>六</td></tr>"+	"<tr><td colspan='7' height='1' align='center'><table width='98%' border='0' height='1'><tr><td width='100%' bgcolor='#8F8F73'></td></tr></table></td></tr></table>"+	"</td></tr><tr><td valign=top width=140>"+	"<table id=tableDay height=120 width=140 border=0 cellspacing=0 cellpadding=0>";	for(var x=0; x<5; x++){		strIframe += "<tr>";		for(var y=0; y<7; y++) strIframe += "<td class=out id='ysDay"+ (x*7+y) +"'></td>"; strIframe += "</tr>";	}	strIframe += "<tr>";	for(var x=35; x<38; x++) strIframe += "<td height='16' class=out id='ysDay"+ x +"'></td>";	strIframe +="<td colspan=2 class='out' height='19' title='"+ YCalendar.regInfo +"' style='cursor: hand;padding-top: 1px;' align='center' onclick='parent.reToday();'>今天</td>";	strIframe +="<td colspan=2 class='out' height='19' title='"+ YCalendar.regInfo +"' style='cursor: hand;padding-top: 1px;' align='center' onclick='parent.Hide();'>关闭</td></tr><tr><td height='0' colspan='7'></td></tr></table>"+	"</td></tr><table>";	strIframe +="</body></html>";	cDocument=YCalendar.frmobj.contentWindow.document;	cDocument.open();	cDocument.write(strIframe);	for(var i=0; i<38; i++){YCalendar.dayObj[i]=cDocument.getElementById('ysDay'+ i);		YCalendar.dayObj[i].onmouseover = dayMouseOver;		YCalendar.dayObj[i].onmouseout  = dayMouseOut;		YCalendar.dayObj[i].onclick     = returnDate;	}	cDocument.close();}function GetAbsLoc(obj){var offsetTop = obj.offsetTop;	var offsetLeft = obj.offsetLeft;	var offsetWidth = obj.offsetWidth;	var offsetHeight = obj.offsetHeight;	while( obj = obj.offsetParent ){	offsetTop += obj.offsetTop;		offsetLeft += obj.offsetLeft;	}	YCalendar.Left=offsetLeft;	YCalendar.Top=offsetTop+offsetHeight;}function reToday(){	var d = new Date().getDate() +'/'+ (new Date().getMonth() +1) +'/'+ new Date().getFullYear();	var b = new Date((new Date().getMonth() +1) +'/'+ new Date().getDate() +'/'+ new Date().getFullYear());	try{	bgd=new Date(YCalendar.BeginDay);	endd=new Date(YCalendar.EndDay);	}catch (e) {}	if(b < bgd){return;}	if(b > endd){return;}	toCtrole(d);}function printCalendar(){	var y = YCalendar.thisYear;	var m = YCalendar.thisMonth;	var d = YCalendar.thisDay;	YCalendar.daysMonth[1] = (0==y%4 && (y%100!=0 || y%400==0)) ? 29 : 28;	if (!(y<=9999 && y >= 1000 && parseInt(m, 10)>0 && parseInt(m, 10)<13 && parseInt(d, 10)>0)){		YCalendar.thisYear   = new Date().getFullYear();		YCalendar.thisMonth  = new Date().getMonth()+ 1;YCalendar.thisDay    = new Date().getDate();	}	y = YCalendar.thisYear;	m = YCalendar.thisMonth;	d = YCalendar.thisDay;	var cDocument=YCalendar.frmobj.contentWindow.document;	cDocument.getElementById('ysYearHead').innerHTML  = y +" 年";cDocument.getElementById('ysYearHead').style.color  = YCalendar.HeadColor;	cDocument.getElementById('ysYearMonth').innerHTML = parseInt(m, 10) +" 月";	cDocument.getElementById('ysYearMonth').style.color  = YCalendar.HeadColor;	YCalendar.daysMonth[1] = (0==y%4 && (y%100!=0 || y%400==0)) ? 29 : 28; 	var w = new Date(y, m-1, 1).getDay();	var prevDays = m==1  ? YCalendar.daysMonth[11] : YCalendar.daysMonth[m-2];	for(var i=(w-1); i>=0; i--){		YCalendar.day[i] = prevDays +"/"+ (parseInt(m, 10)-1) +"/"+ y;	if(m==1) YCalendar.day[i] = prevDays +"/"+ 12 +"/"+ (parseInt(y, 10)-1);		prevDays--;	}	for(var i=1; i<=YCalendar.daysMonth[m-1]; i++) YCalendar.day[i+w-1] = i +"/"+ m +"/"+ y;for(var i=1; i<38-w-YCalendar.daysMonth[m-1]+1; i++){		YCalendar.day[YCalendar.daysMonth[m-1]+w-1+i] = i +"/"+ (parseInt(m, 10)+1) +"/"+ y;if(m==12) YCalendar.day[YCalendar.daysMonth[m-1]+w-1+i] = i +"/"+ 1 +"/"+ (parseInt(y, 10)+1);	}	for(var i=0; i<38; i++){		var a = YCalendar.day[i].split("/");		var forday=a[1]+"/"+a[0]+"/"+a[2];	YCalendar.dayObj[i].innerHTML    = a[0];		YCalendar.dayObj[i].bgColor      = YCalendar.dayBgColor;		YCalendar.dayObj[i].style.color  = YCalendar.wordColor;		if(YCalendar.useTitle)YCalendar.dayObj[i].title        = a[2] +"-"+ appendZero(a[1]) +"-"+ appendZero(a[0]);if ((i<10 && parseInt(YCalendar.day[i], 10)>20) || (i>27 && parseInt(YCalendar.day[i], 10)<12)){			YCalendar.dayObj[i].style.color = YCalendar.wordDark;			YCalendar.dayObj[i].innerHTML='';	}	if (YCalendar.inputDate==YCalendar.day[i]){	YCalendar.dayObj[i].className="over";}		d=new Date(forday);	day = d.getUTCDay();if(YCalendar.weekday[day]==6||YCalendar.weekday[day]==5){	YCalendar.dayObj[i].bgColor = YCalendar.darkColor;	YCalendar.dayObj[i].style.color = YCalendar.lightColor;		}		try{bgd=new Date(YCalendar.BeginDay);	endd=new Date(YCalendar.EndDay);	}catch (e) {}if(d < bgd && bgd!= ''){	YCalendar.dayObj[i].style.color = YCalendar.wordDark;			YCalendar.dayObj[i].onclick = null;	}else if(d > endd && endd!= ''){			YCalendar.dayObj[i].style.color = YCalendar.wordDark;		YCalendar.dayObj[i].onclick = null;	}else{		YCalendar.dayObj[i].onclick = returnDate;		}		if (YCalendar.day[i] == YCalendar.today){		YCalendar.dayObj[i].bgColor = YCalendar.darkColor;	YCalendar.dayObj[i].style.color = YCalendar.todayColor;		}	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -