📄 stcalendar.js
字号:
return fbFireEnt("clicknextmonth");
};
if(oid==this.sUid+"_bottompd")
{
return fbFireEnt("clickpreviousday");
};
if(oid==this.sUid+"_bottomnd")
{
return fbFireEnt("clicknextday");
};
if(oid==this.sUid+"_today")
{
return fbFireEnt("clicktoday");
};
if(oid.indexOf(this.sUid+"_d")!=-1)
{
return fbFireEnt("clickday",[oid]);
};
break;
default:
return fbFireEnt(et);
}
}
return true
};
CCalendar.fvDestroy=function()
{
};
CCalendar.fbPreviousYear=function()
{
var _r=_STNS,_u=_r.UI,_t=_r.TIME;
this.iCurYear--;
if(this.iCurYear<1970)
{
_r.fvThrow(new Error("The year should before 1970!"));
return true;
}
this.fbSetDate(this.iCurYear,this.iCurMonth,this.iCurDate);
this.fbUpDate();
return true;
};
CCalendar.fbNextYear=function()
{
var _r=_STNS,_u=_r.UI,_t=_r.TIME;
this.iCurYear++;
this.fbSetDate(this.iCurYear,this.iCurMonth,this.iCurDate);
this.fbUpDate();
return true;
};
CCalendar.fbPreviousMonth=function()
{
var _r=_STNS,_u=_r.UI,_t=_r.TIME;
this.iCurMonth--;
if(this.iCurMonth<1)
{
this.iCurMonth=12;
this.iCurYear--;
if(this.iCurYear<1970)
{
_r.fvThrow(new Error("The year should before 1970!"));
return true;
}
}
this.fbSetDate(this.iCurYear,this.iCurMonth,this.iCurDate);
this.fbUpDate();
return true;
};
CCalendar.fbNextMonth=function()
{
var _r=_STNS,_u=_r.UI,_t=_r.TIME;
this.iCurMonth++;
if(this.iCurMonth>12)
{
this.iCurMonth=1;
this.iCurYear++;
}
this.fbSetDate(this.iCurYear,this.iCurMonth,this.iCurDate);
this.fbUpDate();
return true;
};
CCalendar.fbPreviousDay=function()
{
var _r=_STNS,_u=_r.UI,_t=_r.TIME;
this.iCurDate--;
this.fbSetDate(this.iCurYear,this.iCurMonth,this.iCurDate);
this.fbUpDate();
return true;
};
CCalendar.fbNextDay=function()
{
var _r=_STNS,_u=_r.UI,_t=_r.TIME;
this.iCurDate++;
this.fbSetDate(this.iCurYear,this.iCurMonth,this.iCurDate);
this.fbUpDate();
return true;
};
CCalendar.fbSelectToday=function()
{
var s="",_r=_STNS,_u=_r.UI,_t=_r.TIME;
var td=_t.fiGetNow();
_r.dTime.setTime(td);
this.fbSetDate(_r.dTime.getFullYear(),_r.dTime.getMonth()+1,_r.dTime.getDate());
this.fbUpDate();
return true;
};
CCalendar.fbSelectGrid=function(as)
{
if(!as[0])
return false;
var _r=_STNS,_t=_r.TIME;
var id=parseInt(as[0].substr((this.sUid+"_d").length)),t,e;
var st=_t.fiGetFirstDay(this.iCurYear,this.iCurMonth),l=_t.fiGetMonthLen(this.iCurYear,this.iCurMonth);
if(id < st)
{
this.fbSetDate(this.iCurYear,this.iCurMonth-1,this.aGrids[id]);
}
else if(id >= st && id < st+l)
{
this.fbSetDate(this.iCurYear,this.iCurMonth,this.aGrids[id]);
}
else
{
this.fbSetDate(this.iCurYear,this.iCurMonth+1,this.aGrids[id]);
}
this.fbUpDate();
return true;
};
CCalendar.fbUpDate=function()
{
var _r=_STNS,e,_t=_r.TIME,is;
e=_r.fdmGetEleById(this.sUid+"_showmy");
if(e)
e.innerHTML=this.iCurMonth+"/"+this.iCurYear;
var st=_t.fiGetFirstDay(this.iCurYear,this.iCurMonth);
var l=_t.fiGetMonthLen(this.iCurYear,this.iCurMonth);
var cd=this.iCurTime;
_r.dTime.setTime(cd);
var cy=_r.dTime.getFullYear(),cm=_r.dTime.getMonth()+1,cd=_r.dTime.getDate();
var cid=_r.dTime.getDate()-1+st;
for(var i=0;i<42;i++)
{
e=_r.fdmGetEleById(this.sUid+"_d"+i);
if(e)
{
e.childNodes[0].innerHTML=this.aGrids[i];
if(i==cid)
{
if(e.className.indexOf(" calendarSelectGrid")==-1)
e.className=e.className+" calendarSelectGrid";
this.sCurInfo=this.fsGetInfo(cy,cm,this.aGrids[i],-1,-1,-1,-1,-2,2);
}
else
e.className=e.className.replace(" calendarSelectGrid","");
if(i>=st && i<l+st)
{
e.className=e.className.replace(" calendarDisable","");
is=this.fsGetInfo(cy,cm,this.aGrids[i],-1,-1,-1,-1,this.iInfoMod,1);
}
else if(i<st)
{
if(e.className.indexOf(" calendarDisable")==-1)
e.className=e.className+" calendarDisable";
_r.dTime.setTime(Date.UTC(cy,cm-2));
is=this.fsGetInfo(_r.dTime.getFullYear(),_r.dTime.getMonth()+1,this.aGrids[i],-1,-1,-1,-1,this.iInfoMod,1);
}
else
{
if(e.className.indexOf(" calendarDisable")==-1)
e.className=e.className+" calendarDisable";
_r.dTime.setTime(Date.UTC(cy,cm));
is=this.fsGetInfo(_r.dTime.getFullYear(),_r.dTime.getMonth()+1,this.aGrids[i],-1,-1,-1,-1,this.iInfoMod,1);
}
e=_r.fdmGetEleById(this.sUid+"_c"+i);
if(e)
e.childNodes[0].innerHTML=is;
}
}
for(var i=0;i<6;i++)
{
e=_r.fdmGetEleById(this.sUid+"_w"+i);
if(e)
e.innerHTML=this.aWeekNO[i];
}
this.oLoad.fbUpDate();
this.oInfo.fbUpDate();
this.oTip.fbUpDate();
this.oDay.fbUpDate();
this.oSelect.fbUpDate();
return true;
};
CCalendar.fsGetInfo=function(y,m,d,h,mi,se,ms,k,f)
{
if(typeof k != "number" || k==0)
return "";
if(k==-1)
{
var s="";
for(var j=0;j<this.aCals.length;j++)
{
for(var i=0 ; i<this.aInfos.length; i++)
{
if(this.aInfos[i] && this.aCals[j].sURL == this.aInfos[i].sURL)
{
var o=this.aInfos[i].foGetInfo(y,m,d,h,mi,se,ms);
if(o)
s+="<img src='"+o.fsGetIco()+"' >";
}
}
}
return s;
}
else if(k==-2)
{
var s="";
for(var j=0;j<this.aCals.length;j++)
{
for(var i=0 ; i<this.aInfos.length; i++)
{
if(this.aInfos[i] && this.aCals[j].sURL == this.aInfos[i].sURL)
{
var o=this.aInfos[i].foGetInfo(y,m,d,h,mi,se,ms);
if(o)
if(f==1)
s+=o.fsGetSimpleTxt()+"<br>";
else if(f==2)
s+=o.fsGetWholeTxt()+"<br>";
}
}
}
return s;
}
else if(typeof k == "number" && k>0)
{
if(this.aCals[k-1])
{
var s="";
for(var i=0 ; i<this.aInfos.length; i++)
{
if(this.aInfos[i] && this.aCals[k-1].sURL == this.aInfos[i].sURL)
{
var o=this.aInfos[i].foGetInfo(y,m,d,h,mi,se,ms);
if(o)
if(f==1)
{
s+=o.fsGetSimpleTxt()+"<br>";
}
else if(f==2)
s+=o.fsGetWholeTxt()+"<br>";
}
}
return s;
}
}
return "";
};
CCalendar.fbLoadInfo=function(u)
{
var _r=_STNS,cal=this;
var xmlhttp=_r.fdmCreateXMLHttp();
if(xmlhttp)
{
xmlhttp.open("get",u,true);
xmlhttp.onreadystatechange=function()
{
if(xmlhttp.readyState==4)
{
try
{
var i=new Function("return "+xmlhttp.responseText)();
cal.fbAddInfo(u,i);
cal.fbUpDate();
}catch(e){}
}
}
xmlhttp.send(null);
}
};
CCalendar.fbAddInfo=function(u,i)
{
for(var j=0;j<this.aInfos.length;j++)
if(this.aInfos[j] && this.aInfos[j].sURL==u)
{
this.aInfos[j].oInfo=i;
return true;
}
this.aInfos[j]=new _STNS.TIME.CCalDat;
this.aInfos[j].sURL=u;
this.aInfos[j].oInfo=i;
return true;
};
CCalendar.fbDelInfo=function(u)
{
for(var j=0;j<this.aInfos.length;j++)
if(this.aInfos[j] && this.aInfos[j].sURL==u)
{
this.aInfos[j].oInfo=null;
return true;
}
return true;
};
CCalendar.fbAddCal=function(c)
{
this.aCals.push(c);
};
CCalendar.fbOverGrid=function(as)
{
var e=_STNS.fdmGetEleById(as[0]);
if(e && e.className.indexOf(" calendarOverGrid")==-1)
e.className=e.className+" calendarOverGrid";
};
CCalendar.fbOutGrid=function(as)
{
var e=_STNS.fdmGetEleById(as[0]);
if(e)
e.className=e.className.replace(" calendarOverGrid","");
};
CCalendar.fbOverPY=function(as)
{
var e=_STNS.fdmGetEleById(as[0]);
if(e)
{
if(as[0]==this.sUid+"_toppy" && e.className.indexOf(" calendarOverTPY")==-1)
e.className=e.className +" calendarOverTPY";
else if(as[0]==this.sUid+"_bottompy" && e.className.indexOf(" calendarOverBPY")==-1)
e.className=e.className +" calendarOverBPY";
}
};
CCalendar.fbOutPY=function(as)
{
var e=_STNS.fdmGetEleById(as[0]);
if(e)
{
if(as[0]==this.sUid+"_toppy")
e.className=e.className.replace(" calendarOverTPY","");
else if(as[0]==this.sUid+"_bottompy")
e.className=e.className.replace(" calendarOverBPY","");
}
};
CCalendar.fbOverNY=function(as)
{
var e=_STNS.fdmGetEleById(as[0]);
if(e)
{
if(as[0]==this.sUid+"_topny" && e.className.indexOf(" calendarOverTNY")==-1)
e.className=e.className +" calendarOverTNY";
else if(as[0]==this.sUid+"_bottomny" && e.className.indexOf(" calendarOverBNY")==-1)
e.className=e.className +" calendarOverBNY";
}
};
CCalendar.fbOutNY=function(as)
{
var e=_STNS.fdmGetEleById(as[0]);
if(e)
{
if(as[0]==this.sUid+"_topny")
e.className=e.className.replace(" calendarOverTNY","");
else if(as[0]==this.sUid+"_bottomny")
e.className=e.className.replace(" calendarOverBNY","");
}
};
CCalendar.fbOverPM=function(as)
{
var e=_STNS.fdmGetEleById(as[0]);
if(e)
{
if(as[0]==this.sUid+"_toppm" && e.className.indexOf(" calendarOverTPM")==-1)
e.className=e.className +" calendarOverTPM";
else if(as[0]==this.sUid+"_bottompm" && e.className.indexOf(" calendarOverBPM")==-1)
e.className=e.className +" calendarOverBPM";
}
};
CCalendar.fbOutPM=function(as)
{
var e=_STNS.fdmGetEleById(as[0]);
if(e)
{
if(as[0]==this.sUid+"_toppm")
e.className=e.className.replace(" calendarOverTPM","");
else if(as[0]==this.sUid+"_bottompm")
e.className=e.className.replace(" calendarOverBPM","");
}
};
CCalendar.fbOverNM=function(as)
{
var e=_STNS.fdmGetEleById(as[0]);
if(e)
{
if(as[0]==this.sUid+"_topnm" && e.className.indexOf(" calendarOverTNM")==-1)
e.className=e.className +" calendarOverTNM";
else if(as[0]==this.sUid+"_bottomnm" && e.className.indexOf(" calendarOverBNM")==-1)
e.className=e.className +" calendarOverBNM";
}
};
CCalendar.fbOutNM=function(as)
{
var e=_STNS.fdmGetEleById(as[0]);
if(e)
{
if(as[0]==this.sUid+"_topnm")
e.className=e.className.replace(" calendarOverTNM","");
else if(as[0]==this.sUid+"_bottomnm")
e.className=e.className.replace(" calendarOverBNM","");
}
};
CCalendar.fbOverPD=function()
{
var e=_STNS.fdmGetEleById(this.sUid+"_bottompd");
if(e && e.className.indexOf(" calendarOverBPD")==-1)
e.className=e.className+" calendarOverBPD";
};
CCalendar.fbOutPD=function()
{
var e=_STNS.fdmGetEleById(this.sUid+"_bottompd");
if(e)
e.className=e.className.replace(" calendarOverBPD","");
};
CCalendar.fbOverND=function()
{
var e=_STNS.fdmGetEleById(this.sUid+"_bottomnd");
if(e && e.className.indexOf(" calendarOverBND")==-1)
e.className=e.className+" calendarOverBND";
};
CCalendar.fbOutND=function()
{
var e=_STNS.fdmGetEleById(this.sUid+"_bottomnd");
if(e)
e.className=e.className.replace(" calendarOverBND","");
};
CCalendar.fbOverTDG=function()
{
var e=_STNS.fdmGetEleById(this.sUid+"_today");
if(e && e.className.indexOf(" calendarOverTDG")==-1)
e.className=e.className+" calendarOverTDG";
};
CCalendar.fbOutTDG=function()
{
var e=_STNS.fdmGetEleById(this.sUid+"_today");
if(e)
e.className=e.className.replace(" calendarOverTDG","");
};
//* Class: _STNS.UI.CCalendarInfoView
_STNS.UI.CCalendarInfoView=_STNS.Class(CUIObj);
CCalendarInfoView.register("UI/CUIObj>CCalendarInfoView");
CCalendarInfoView.construct=function()
{
this.oCalendar=0;
with(_STNS.UI.CCalendarInfoView)
{
this.fsGetHTML=fsGetHTML;
this.fbUpDate=fbUpDate;
this.fvShow=fvShow;
}
};
CCalendarInfoView.fsGetHTML=function()
{
return "<div id='"+this.sUid+"_info' class='calendarInfoView'></div>";
};
CCalendarInfoView.fbUpDate=function()
{
if(!this.oCalendar) return false;
var e=_STNS.fdmGetEleById(this.sUid+"_info");
if(e)
e.innerHTML=this.oCalendar.sCurInfo;
return true;
};
CCalendarInfoView.fvShow=function()
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -