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

📄 calendar.js

📁 前台
💻 JS
📖 第 1 页 / 共 2 页
字号:
this.t_sec=this._todayDate.getSeconds();
var tmpdd=parent.$dp;
this.eCont=tmpdd.obj.eCont;
this.dateFmt=tmpdd.obj.dateFmt||dpcfg.dateFmt;
this.showTime=(tmpdd.obj.showTime==true)?tmpdd.obj.showTime:dpcfg.showTime;
this.skin=tmpdd.obj.skin||dpcfg.skin;
this.onPicked=new parent.$dp.obj.win.Function(this.eCont.getAttribute("ONPICKED"));
this.onPicked=$BindAsEventListener(this.onPicked,this.eCont);
this.hasYear=(this.dateFmt.indexOf('%Y')==-1)?false:true;
this.hasMonth=(this.dateFmt.indexOf('%M')==-1)?false:true;
this.hasDate=(this.dateFmt.indexOf('%D')==-1)?false:true;
this.hasHour=(this.dateFmt.indexOf('%h')==-1)?false:true;
this.hasMin=(this.dateFmt.indexOf('%m')==-1)?false:true;
this.hasSec=(this.dateFmt.indexOf('%s')==-1)?false:true;
this.minDate=this._doCustomDate(this.eCont.getAttribute("MINDATE"),dpcfg.realValueShortFmt,"min");
this.maxDate=this._doCustomDate(this.eCont.getAttribute("MAXDATE"),dpcfg.realValueShortFmt,"max");
if((this.minDate.year*10000+this.minDate.month*100+this.minDate.date*1)>(this.maxDate.year*10000+this.maxDate.month*100+this.maxDate.date*1)){alert('\u6700\u5C0F\u65E5\u671F\u4E0D\u80FD\u5927\u4E8E\u6700\u5927\u65E5\u671F(MinDate Cannot be bigger than MaxDate)!')
parent.$dp.obj.eCont.onfocus=function(){};
parent.$dp.obj.eCont.onclick=function(){alert('\u6700\u5C0F\u65E5\u671F\u4E0D\u80FD\u5927\u4E8E\u6700\u5927\u65E5\u671F(MinDate Cannot be bigger than MaxDate)!')};}
this._setActiveCSS();
this._initDate(this.eCont.value,this.dateFmt);
if(this.eCont.value!=''&&this.eCont.getAttribute("REALVALUE")==null&&this._judgeCorrectDateTime(this.eCont.value)){this._setRealValue();}
this.s_year=this.year;
this.s_month=this.month;
this.s_date=this.date;
this.eCont.getValue=function(){if(this.value==''){return'';}
else{return this.getAttribute("REALVALUE");}};};
My97DatePicker.prototype._setShowAndHide=function(){if(!(this.hasYear||this.hasMonth)){this.dd.titleDiv.style.display='none';}
else{this.dd.titleDiv.style.display='';}
if(!this.hasYear){this.dd.yInput.style.display=this.dd.navLeftImg.style.display=this.dd.navRightImg.style.display='none';}
else{this.dd.yInput.style.display=this.dd.navLeftImg.style.display=this.dd.navRightImg.style.display='';}
if(!this.hasMonth){this.dd.mInput.style.display=this.dd.leftImg.style.display=this.dd.rightImg.style.display='none';}
else{this.dd.mInput.style.display=this.dd.leftImg.style.display=this.dd.rightImg.style.display='';}
if(!this.hasDate){this.dd.dDiv.style.display='none';}
else{this.dd.dDiv.style.display='';}
if(!this.hasHour){this.dd.hhInput.disabled='disabled';}
else{this.dd.hhInput.disabled='';}
if(!this.hasMin){this.dd.mmInput.disabled='disabled';}
else{this.dd.mmInput.disabled='';}
if(!this.hasSec){this.dd.ssInput.disabled='disabled';}
else{this.dd.ssInput.disabled='';}}
My97DatePicker.prototype._setActiveCSS=function(){var i,a,main;
for(i=0;(a=document.getElementsByTagName("link")[i]);i++){if(a.getAttribute("rel").indexOf("style")!=-1&&a.getAttribute("title")){a.disabled=true;
if(a.getAttribute("title")==this.skin)a.disabled=false;}}};
My97DatePicker.prototype.redraw=function(){this.year=this.dd.yInput.value;
this.month=this.dd.mInput.getAttribute("realValue");
this.dd.dDiv.innerHTML=this._createDateTable();
autoSizeIframe();};
My97DatePicker.prototype._initDate=function(str,fmt)
{this.year=this.month=this.date=this.hour=this.minute=this.sec=-1;
var v=str.split(/\W+/);
var f=fmt.match(/%./g);
for(var i=0;i<f.length;i++){if(v[i]){if(f[i].toLowerCase()=='%y'){this.year=parseInt(v[i],10);
if(isNaN(this.year)){this.year=this.t_year;}}
else if(f[i]=='%M'){this.month=parseInt(v[i],10);
if(isNaN(this.month)){this.month=this.t_month;}}
else if(f[i].toLowerCase()=='%d'){this.date=parseInt(v[i],10);
if(isNaN(this.date)){this.date=this.t_date;}}
else if(f[i].toLowerCase()=='%h'){this.hour=parseInt(v[i],10);
if(isNaN(this.hour)){this.hour=this.t_hour;}}
else if(f[i]=='%m'){this.minute=parseInt(v[i],10);
if(isNaN(this.minute)){this.minute=this.t_minute;}}
else if(f[i].toLowerCase()=='%s'){this.sec=parseInt(v[i],10);
if(isNaN(this.sec)){this.sec=this.t_sec;}}}}
if(!this._isDate(this.year+'-'+this.month+'-'+this.date)){this.year=this.t_year;this.month=this.t_month;this.date=this.t_date;}
if((this.hour<0)||(this.hour>23)){this.hour=this.t_hour;}
if((this.minute<0)||(this.minute>59)){this.minute=this.t_minute;}
if((this.sec<0)||(this.sec>59)){this.sec=this.t_sec;}};
My97DatePicker.prototype._isDate=function(sDate){return sDate.match(/^((\d{2}(([02468][048])|([13579][26]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|([1-2][0-9])))))|(\d{2}(([02468][1235679])|([13579][01345789]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))(\s(((0?[0-9])|([1-2][0-3]))\:([0-5]?[0-9])((\s)|(\:([0-5]?[0-9])))))?$/);};
My97DatePicker.prototype._createPickerHTML=function()
{var s=new __sb();
s.a("<div id=dpTitle>");
s.a("<div style='float:left;margin:2px;width:45px'><img style='cursor:pointer;' src='skin/"+this.skin+"/navLeft.gif' width=14 height=16 /><img style='cursor:pointer;' src='skin/"+this.skin+"/left.gif' width=14 height=16 /></div>");
s.a("<div style='float:left;margin:2px;'><div style='margin-left:0px;width:62px' class='ymsel'></div><input class='yminput' style='margin-top:1px;width:30px;' maxlength=3></div>");
s.a("<div style='float:left;margin:2px'><div style='margin-left:0px' class='ymsel'></div><input class='yminput' style='margin-top:-1px;width:40px;' maxlength=4></div>");
s.a("<div style='float:right;margin:2px'><img style='cursor:pointer;' src='skin/"+this.skin+"/right.gif' width=14 height=16 /><img style='cursor:pointer;' src='skin/"+this.skin+"/navRight.gif' width=14 height=16 /></div></div>");
s.a("<div></div>");
s.a("<div>");
s.a(this._createTimeTable());
s.a("</div>");
return s.j();};
My97DatePicker.prototype._createDateTable=function(){var tempYear,tempMonth;
if((this.year*100+this.month*1)<(this.minDate.year*100+this.minDate.month*1)){this.dd.yInput.value=tempYear=this.minDate.year;
tempMonth=this.minDate.month;
this.dd.mInput.value=dpcfg.aMonStr[tempMonth-1];
this.dd.mInput.setAttribute('realValue',tempMonth);}
else if((this.year*100+this.month*1)>(this.maxDate.year*100+this.maxDate.month*1)){this.dd.yInput.value=tempYear=this.maxDate.year;
tempMonth=this.maxDate.month;
this.dd.mInput.value=dpcfg.aMonStr[tempMonth-1];
this.dd.mInput.setAttribute('realValue',tempMonth);}
else{tempYear=this.year;
tempMonth=this.month;}
var firstDay,firstDate,lastDay,lastDate;
var s=new __sb();
var i,j,k;
firstDay=new Date(tempYear,tempMonth-1,1).getDay();
firstDate=1-firstDay;
lastDay=new Date(tempYear,tempMonth,0).getDay();
lastDate=new Date(tempYear,tempMonth,0).getDate();
s.a("<table id=dpDayTable width=100% border=0 cellspacing=0 cellpadding=0>");
s.a("<tr id=dpWeekTitle align=center>");
var ss=new Array();
for(i=0;i<7;i++){s.a("<td>"+dpcfg.aWeekStr[i]+"</td>");}
var classStr='';
var chassOnStr='';
var isThisMonth=((tempYear==this.t_year)&&(tempMonth==this.t_month));
var isSelMonth=((tempYear==this.s_year)&&(tempMonth==this.s_month));
var needCompareMinDate=((tempYear*100+tempMonth*1)==(this.minDate.year*100+this.minDate.month));
var needCompareMaxDate=((tempYear*100+tempMonth*1)==(this.maxDate.year*100+this.maxDate.month));
var needCompareBoth=needCompareMinDate&&needCompareMaxDate;
var isValidDate=!needCompareMinDate&&!needCompareMaxDate;
for(i=1,j=firstDate;i<7;i++){s.a("<tr>");
for(k=0;k<7;k++){if(j>=1&&j<=lastDate){if(isSelMonth&&(j==this.s_date)){classStr='Wselday';}
else if(isThisMonth&&(j==this.t_date)){classStr='Wtoday';}
else{classStr=((dpcfg.highLineWeekDay&&(k==0||k==6))?'Wwday':'Wday');}
classOnStr=((dpcfg.highLineWeekDay&&(k==0||k==6))?'WwdayOn':'WdayOn');
s.a("<td align=center ");
if(isValidDate||(!needCompareBoth&&((needCompareMinDate&&j>=this.minDate.date)||(needCompareMaxDate&&j<=this.maxDate.date)))||(needCompareBoth&&(j>=this.minDate.date)&&(j<=this.maxDate.date))){s.a("onclick=\"$d.obj.pickDate(null,null,"+j+");\" ");
s.a("onmouseover=\"this.className='"+classOnStr+"'\" ");
s.a("onmouseout=\"this.className='"+classStr+"'\" ");}
else{classStr='WinvalidDay';}
s.a("class='"+classStr+"'");
s.a("><span>"+j+"</span>");}
else{s.a("<td><span></span>");}
j++;
s.a("</td>");}
s.a("</tr>");}
s.a("</table>");
return s.j();};
My97DatePicker.prototype._createTimeTable=function(){var s=new __sb();
s.a("<div id=dpTime style='"+((this.showTime)?'':'display:none;')+"float:left;margin-top:3px'><table cellspacing=0 cellpadding=0 border=0><tr><td rowspan=2><span id=dpTimeStr>"+dpcfg.timeStr+"</span>");
s.a(" <input class=tB maxlength=2 value="+this.hour+"><input value=':' class=tm readonly>");
s.a("<input class=tE maxlength=2 value="+this.minute+"><input value=':' class=tm readonly>");
s.a("<input class=tE maxlength=2 value="+this.sec+"></td><td>");
s.a("<button id=dpTimeUp></button></td></tr><tr><td><button id=dpTimeDown></button></td></tr></table></div>");
s.a("<div id=dpButton style='float:right;margin-top:3px;text-align:right;'>");
s.a("<input id=dpClearInput type=button value='"+dpcfg.clearStr+"'> <input id=dpTodayInput type=button value='"+dpcfg.todayStr+"'> <input id=dpOkInput type=button value='"+dpcfg.okStr+"'>");
s.a("</div>");
return s.j();};
My97DatePicker.prototype._fillmonth=function()
{var s=new __sb();
s.a("<table cellspacing=0 cellpadding=2 border=0>");
var i,n=0,v=parseInt(this.dd.mInput.getAttribute("realValue"));
var aMonStrT=new Array(12);
var aMonStrV=new Array(12);
for(i=0;i<11;i++){if(i+1==v){n=1;}
aMonStrT[i]=dpcfg.aMonStr[n+i];
aMonStrV[i]=n+i+1;}
this.year=parseInt(this.dd.yInput.value);
var needCompareMinMonth=this.year==this.minDate.year;
var needCompareMaxMonth=this.year==this.maxDate.year;
var needCompareBoth=needCompareMinMonth&&needCompareMaxMonth;
var validMonth=(this.year>this.minDate.year&&this.year<this.maxDate.year);
var isValidMonth;
for(i=0;i<6;i++){s.a("<tr><td ");
isValidMonth=(validMonth)||(!needCompareBoth&&((needCompareMinMonth&&aMonStrV[i]>=this.minDate.month)||(needCompareMaxMonth&&aMonStrV[i]<=this.maxDate.month)))||(needCompareBoth&&(aMonStrV[i]>=this.minDate.month&&aMonStrV[i]<=this.maxDate.month));
s.a((isValidMonth)?"class='Wym' onmouseover=\"this.className='WdayOn'\" onmouseout=\"this.className='Wym'\" onmousedown=\"$d.mInput.value="+aMonStrV[i]+";$d.mDiv.style.display='none';$d.mInput.blur();\"":"class='Winvalidym'");
s.a(">"+aMonStrT[i]+"</td>");
if(i==5){break;}
s.a("<td ");
isValidMonth=(validMonth)||(!needCompareBoth&&((needCompareMinMonth&&aMonStrV[i+6]>=this.minDate.month)||(needCompareMaxMonth&&aMonStrV[i+6]<=this.maxDate.month)))||(needCompareBoth&&(aMonStrV[i+6]>=this.minDate.month&&aMonStrV[i+6]<=this.maxDate.month));
s.a((isValidMonth)?"class='Wym' onmouseover=\"this.className='WymOn'\" onmouseout=\"this.className='Wym'\" onmousedown=\"$d.mInput.value="+aMonStrV[i+6]+";$d.mDiv.style.display='none';$d.mInput.blur();\"":"class='Winvalidym'");
s.a(">"+aMonStrT[i+6]+"</td></tr>");}
s.a("<td align=center onmouseover=\"this.className='WymOn'\" onmouseout=\"this.className='Wym'\" onmousedown=\"$d.mDiv.style.display='none';\">

⌨️ 快捷键说明

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