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

📄 calendar.js

📁 很好看日历脚本
💻 JS
📖 第 1 页 / 共 3 页
字号:
this.onSetTime();this.table.style.visibility="visible";this._initMultipleDates();};Calendar.prototype._initMultipleDates=function(){if(this.multiple){for(var i in this.multiple){var _b5=this.datesCells[i];var d=this.multiple[i];if(!d){continue;}if(_b5){_b5.className+=" selected";}}}};Calendar.prototype._toggleMultipleDate=function(_b7){if(this.multiple){var ds=_b7.print("%Y%m%d");var _b9=this.datesCells[ds];if(_b9){var d=this.multiple[ds];if(!d){Calendar.addClass(_b9,"selected");this.multiple[ds]=_b7;}else{Calendar.removeClass(_b9,"selected");delete this.multiple[ds];}}}};Calendar.prototype.setDateToolTipHandler=function(_bb){this.getDateToolTip=_bb;};Calendar.prototype.setDate=function(_bc){if(!_bc.equalsTo(this.date)){this._init(this.firstDayOfWeek,_bc);}};Calendar.prototype.refresh=function(){this._init(this.firstDayOfWeek,this.date);};Calendar.prototype.setFirstDayOfWeek=function(_bd){this._init(_bd,this.date);this._displayWeekdays();};Calendar.prototype.setDateStatusHandler=Calendar.prototype.setDisabledHandler=function(_be){this.getDateStatus=_be;};Calendar.prototype.setRange=function(a,z){this.minYear=a;this.maxYear=z;};Calendar.prototype.callHandler=function(){if(this.onSelected){this.onSelected(this,this.date.print(this.dateFormat));}};Calendar.prototype.callCloseHandler=function(){if(this.onClose){this.onClose(this);}this.hideShowCovered();};Calendar.prototype.destroy=function(){var el=this.element.parentNode;el.removeChild(this.element);Calendar._C=null;window._dynarch_popupCalendar=null;};Calendar.prototype.reparent=function(_c2){var el=this.element;el.parentNode.removeChild(el);_c2.appendChild(el);};Calendar._checkCalendar=function(ev){var _c5=window._dynarch_popupCalendar;if(!_c5){return false;}var el=Calendar.is_ie?Calendar.getElement(ev):Calendar.getTargetElement(ev);for(;el!=null&&el!=_c5.element;el=el.parentNode){}if(el==null){window._dynarch_popupCalendar.callCloseHandler();return Calendar.stopEvent(ev);}};Calendar.prototype.show=function(){var _c7=this.table.getElementsByTagName("tr");for(var i=_c7.length;i>0;){var row=_c7[--i];Calendar.removeClass(row,"rowhilite");var _ca=row.getElementsByTagName("td");for(var j=_ca.length;j>0;){var _cc=_ca[--j];Calendar.removeClass(_cc,"hilite");Calendar.removeClass(_cc,"active");}}this.element.style.display="block";this.hidden=false;if(this.isPopup){window._dynarch_popupCalendar=this;Calendar.addEvent(document,"keydown",Calendar._keyEvent);Calendar.addEvent(document,"keypress",Calendar._keyEvent);Calendar.addEvent(document,"mousedown",Calendar._checkCalendar);}this.hideShowCovered();};Calendar.prototype.hide=function(){if(this.isPopup){Calendar.removeEvent(document,"keydown",Calendar._keyEvent);Calendar.removeEvent(document,"keypress",Calendar._keyEvent);Calendar.removeEvent(document,"mousedown",Calendar._checkCalendar);}this.element.style.display="none";this.hidden=true;this.hideShowCovered();};Calendar.prototype.showAt=function(x,y){var s=this.element.style;s.left=x+"px";s.top=y+"px";this.show();};Calendar.prototype.showAtElement=function(el,_d1){var _d2=this;var p=Calendar.getAbsolutePos(el);if(!_d1||typeof _d1!="string"){this.showAt(p.x,p.y+el.offsetHeight);return true;}function fixPosition(box){if(box.x<0){box.x=0;}if(box.y<0){box.y=0;}var cp=document.createElement("div");var s=cp.style;s.position="absolute";s.right=s.bottom=s.width=s.height="0px";document.body.appendChild(cp);var br=Calendar.getAbsolutePos(cp);document.body.removeChild(cp);if(Calendar.is_ie){br.y+=document.body.scrollTop;br.x+=document.body.scrollLeft;}else{br.y+=window.scrollY;br.x+=window.scrollX;}var tmp=box.x+box.width-br.x;if(tmp>0){box.x-=tmp;}tmp=box.y+box.height-br.y;if(tmp>0){box.y-=tmp;}}this.element.style.display="block";Calendar.continuation_for_the_fucking_khtml_browser=function(){var w=_d2.element.offsetWidth;var h=_d2.element.offsetHeight;_d2.element.style.display="none";var _db=_d1.substr(0,1);var _dc="l";if(_d1.length>1){_dc=_d1.substr(1,1);}switch(_db){case "T":p.y-=h;break;case "B":p.y+=el.offsetHeight;break;case "C":p.y+=(el.offsetHeight-h)/2;break;case "t":p.y+=el.offsetHeight-h;break;case "b":break;}switch(_dc){case "L":p.x-=w;break;case "R":p.x+=el.offsetWidth;break;case "C":p.x+=(el.offsetWidth-w)/2;break;case "l":p.x+=el.offsetWidth-w;break;case "r":break;}p.width=w;p.height=h+40;_d2.monthsCombo.style.display="none";fixPosition(p);_d2.showAt(p.x,p.y);};if(Calendar.is_khtml){setTimeout("Calendar.continuation_for_the_fucking_khtml_browser()",10);}else{Calendar.continuation_for_the_fucking_khtml_browser();}};Calendar.prototype.setDateFormat=function(str){this.dateFormat=str;};Calendar.prototype.setTtDateFormat=function(str){this.ttDateFormat=str;};Calendar.prototype.parseDate=function(str,fmt){if(!fmt){fmt=this.dateFormat;}this.setDate(Date.parseDate(str,fmt));};Calendar.prototype.hideShowCovered=function(){if(!Calendar.is_ie&&!Calendar.is_opera){return;}function getVisib(obj){var _e2=obj.style.visibility;if(!_e2){if(document.defaultView&&typeof (document.defaultView.getComputedStyle)=="function"){if(!Calendar.is_khtml){_e2=document.defaultView.getComputedStyle(obj,"").getPropertyValue("visibility");}else{_e2="";}}else{if(obj.currentStyle){_e2=obj.currentStyle.visibility;}else{_e2="";}}}return _e2;}var _e3=new Array("applet","iframe","select");var el=this.element;var p=Calendar.getAbsolutePos(el);var EX1=p.x;var EX2=el.offsetWidth+EX1;var EY1=p.y;var EY2=el.offsetHeight+EY1;for(var k=_e3.length;k>0;){var ar=document.getElementsByTagName(_e3[--k]);var cc=null;for(var i=ar.length;i>0;){cc=ar[--i];p=Calendar.getAbsolutePos(cc);var CX1=p.x;var CX2=cc.offsetWidth+CX1;var CY1=p.y;var CY2=cc.offsetHeight+CY1;if(this.hidden||(CX1>EX2)||(CX2<EX1)||(CY1>EY2)||(CY2<EY1)){if(!cc.__msh_save_visibility){cc.__msh_save_visibility=getVisib(cc);}cc.style.visibility=cc.__msh_save_visibility;}else{if(!cc.__msh_save_visibility){cc.__msh_save_visibility=getVisib(cc);}cc.style.visibility="hidden";}}}};Calendar.prototype._displayWeekdays=function(){var _f2=this.firstDayOfWeek;var _f3=this.firstdayname;var _f4=Calendar._TT["WEEKEND"];for(var i=0;i<7;++i){_f3.className="day name";var _f6=(i+_f2)%7;if(i){_f3.ttip=Calendar._TT["DAY_FIRST"].replace("%s",Calendar._DN[_f6]);_f3.navtype=100;_f3.calendar=this;_f3.fdow=_f6;Calendar._add_evs(_f3);}if(_f4.indexOf(_f6.toString())!=-1){Calendar.addClass(_f3,"weekend");}_f3.innerHTML=Calendar._SDN[(i+_f2)%7];_f3=_f3.nextSibling;}};Calendar.prototype._hideCombos=function(){this.monthsCombo.style.display="none";this.yearsCombo.style.display="none";};Calendar.prototype._dragStart=function(ev){if(this.dragging){return;}this.dragging=true;var _f8;var _f9;if(Calendar.is_ie){_f9=window.event.clientY+document.body.scrollTop;_f8=window.event.clientX+document.body.scrollLeft;}else{_f9=ev.clientY+window.scrollY;_f8=ev.clientX+window.scrollX;}var st=this.element.style;this.xOffs=_f8-parseInt(st.left);this.yOffs=_f9-parseInt(st.top);with(Calendar){addEvent(document,"mousemove",calDragIt);addEvent(document,"mouseup",calDragEnd);}};Date._MD=new Array(31,28,31,30,31,30,31,31,30,31,30,31);Date.SECOND=1000;Date.MINUTE=60*Date.SECOND;Date.HOUR=60*Date.MINUTE;Date.DAY=24*Date.HOUR;Date.WEEK=7*Date.DAY;Date.parseDate=function(str,fmt,_fd){if(!_fd){_fd=new Date();}var y=0;var m=-1;var d=0;var a=str.split(/\W+/);var b=fmt.match(/%./g);var i=0,j=0;var hr=0;var min=0;for(i=0;i<a.length;++i){if(!a[i]){continue;}switch(b[i]){case "%d":case "%e":d=parseInt(a[i],10);break;case "%m":m=parseInt(a[i],10)-1;break;case "%Y":case "%y":y=parseInt(a[i],10);(y<100)&&(y+=(y>29)?1900:2000);break;case "%b":case "%B":for(j=0;j<12;++j){if(Calendar._MN[j].substr(0,a[i].length).toLowerCase()==a[i].toLowerCase()){m=j;break;}}break;case "%H":case "%I":case "%k":case "%l":hr=parseInt(a[i],10);break;case "%P":case "%p":if(/pm/i.test(a[i])&&hr<12){hr+=12;}else{if(/am/i.test(a[i])&&hr>=12){hr-=12;}}break;case "%M":min=parseInt(a[i],10);break;}}if(isNaN(y)){y=_fd.getFullYear();}if(isNaN(m)){m=_fd.getMonth();}if(isNaN(d)){d=_fd.getDate();}if(isNaN(hr)){hr=_fd.getHours();}if(isNaN(min)){min=_fd.getMinutes();}if(y!=0&&m!=-1&&d!=0){return new Date(y,m,d,hr,min,0);}y=0;m=-1;d=0;for(i=0;i<a.length;++i){if(a[i].search(/[a-zA-Z]+/)!=-1){var t=-1;for(j=0;j<12;++j){if(Calendar._MN[j].substr(0,a[i].length).toLowerCase()==a[i].toLowerCase()){t=j;break;}}if(t!=-1){if(m!=-1){d=m+1;}m=t;}}else{if(parseInt(a[i],10)<=12&&m==-1){m=a[i]-1;}else{if(parseInt(a[i],10)>31&&y==0){y=parseInt(a[i],10);(y<100)&&(y+=(y>29)?1900:2000);}else{if(d==0){d=a[i];}}}}}if(y==0){y=_fd.getFullYear();}if(m!=-1&&d!=0){return new Date(y,m,d,hr,min,0);}return _fd;};Date.prototype.getMonthDays=function(_107){var year=this.getFullYear();if(typeof _107=="undefined"){_107=this.getMonth();}if(((0==(year%4))&&((0!=(year%100))||(0==(year%400))))&&_107==1){return 29;}else{return Date._MD[_107];}};Date.prototype.getDayOfYear=function(){var now=new Date(this.getFullYear(),this.getMonth(),this.getDate(),0,0,0);var then=new Date(this.getFullYear(),0,0,0,0,0);var time=now-then;return Math.floor(time/Date.DAY);};Date.prototype.getWeekNumber=function(){var d=new Date(this.getFullYear(),this.getMonth(),this.getDate(),0,0,0);var DoW=d.getDay();d.setDate(d.getDate()-(DoW+6)%7+3);var ms=d.valueOf();d.setMonth(0);d.setDate(4);return Math.round((ms-d.valueOf())/(7*86400000))+1;};Date.prototype.equalsTo=function(date){return ((this.getFullYear()==date.getFullYear())&&(this.getMonth()==date.getMonth())&&(this.getDate()==date.getDate())&&(this.getHours()==date.getHours())&&(this.getMinutes()==date.getMinutes()));};Date.prototype.setDateOnly=function(date){var tmp=new Date(date);this.setDate(1);this.setFullYear(tmp.getFullYear());this.setMonth(tmp.getMonth());this.setDate(tmp.getDate());};Date.prototype.print=function(str){var m=this.getMonth();var d=this.getDate();var y=this.getFullYear();var wn=this.getWeekNumber();var w=this.getDay();var s={};var hr=this.getHours();var pm=(hr>=12);var ir=(pm)?(hr-12):hr;var dy=this.getDayOfYear();if(ir==0){ir=12;}var min=this.getMinutes();var sec=this.getSeconds();s["%a"]=Calendar._SDN[w];s["%A"]=Calendar._DN[w];s["%b"]=Calendar._SMN[m];s["%B"]=Calendar._MN[m];s["%C"]=1+Math.floor(y/100);s["%d"]=(d<10)?("0"+d):d;s["%e"]=d;s["%H"]=(hr<10)?("0"+hr):hr;s["%I"]=(ir<10)?("0"+ir):ir;s["%j"]=(dy<100)?((dy<10)?("00"+dy):("0"+dy)):dy;s["%k"]=hr;s["%l"]=ir;s["%m"]=(m<9)?("0"+(1+m)):(1+m);s["%M"]=(min<10)?("0"+min):min;s["%n"]="\n";s["%p"]=pm?"PM":"AM";s["%P"]=pm?"pm":"am";s["%s"]=Math.floor(this.getTime()/1000);s["%S"]=(sec<10)?("0"+sec):sec;s["%t"]="\t";s["%U"]=s["%W"]=s["%V"]=(wn<10)?("0"+wn):wn;s["%u"]=w+1;s["%w"]=w;s["%y"]=(""+y).substr(2,2);s["%Y"]=y;s["%%"]="%";var re=/%./g;if(!Calendar.is_ie5&&!Calendar.is_khtml){return str.replace(re,function(par){return s[par]||par;});}var a=str.match(re);for(var i=0;i<a.length;i++){var tmp=s[a[i]];if(tmp){re=new RegExp(a[i],"g");str=str.replace(re,tmp);}}return str;};Date.prototype.__msh_oldSetFullYear=Date.prototype.setFullYear;Date.prototype.setFullYear=function(y){var d=new Date(this);d.__msh_oldSetFullYear(y);if(d.getMonth()!=this.getMonth()){this.setDate(28);}this.__msh_oldSetFullYear(y);};window._dynarch_popupCalendar=null;

⌨️ 快捷键说明

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