📄 stcalendar.js
字号:
{
document.write(this.fsGetHTML());
};
//* Class: _STNS.UI.CCalendarDayView
_STNS.UI.CCalendarDayView=_STNS.Class(CUIObj);
CCalendarDayView.register("UI/CUIObj>CCalendarDayView");
CCalendarDayView.construct=function()
{
this.oCalendar=0;
with(_STNS.UI.CCalendarDayView)
{
this.fsGetHTML=fsGetHTML;
this.fbUpDate=fbUpDate;
this.fsGetWeekStr=fsGetWeekStr;
this.fvShow=fvShow;
}
};
CCalendarDayView.fsGetHTML=function()
{
return "<div id='"+this.sUid+"_view' class='calendarDayView'>" +
"<div id='"+this.sUid+"_ym' class='calendarDayYM'>"+
this.oCalendar.iCurYear+"年"+
this.oCalendar.iCurMonth+"月"+
"</div>"+
"<div id='"+this.sUid+"_dt' class='calendarDayDt'>"+
this.oCalendar.iCurDate+
"</div>"+
"<div id='"+this.sUid+"_dy' class='calendarDayDy'>"+
this.fsGetWeekStr(this.oCalendar.iCurDay)+
"</div>"+
"</div>";
};
CCalendarDayView.fbUpDate=function()
{
if(!this.oCalendar) return false;
var e=_STNS.fdmGetEleById(this.sUid+"_ym");
if(e)
e.innerHTML=this.oCalendar.iCurYear+"年"+this.oCalendar.iCurMonth+"月";
var e=_STNS.fdmGetEleById(this.sUid+"_dt");
if(e)
e.innerHTML=this.oCalendar.iCurDate;
var e=_STNS.fdmGetEleById(this.sUid+"_dy");
if(e)
e.innerHTML=this.fsGetWeekStr(this.oCalendar.iCurDay);
return true;
};
CCalendarDayView.fvShow=function()
{
document.write(this.fsGetHTML());
};
CCalendarDayView.fsGetWeekStr=function(d)
{
var s;
switch(d)
{
case 0:
s="星期日";
break;
case 1:
s="星期一";
break;
case 2:
s="星期二";
break;
case 3:
s="星期三";
break;
case 4:
s="星期四";
break;
case 5:
s="星期五";
break;
case 6:
s="星期六";
break;
}
return s;
}
//* Class: _STNS.UI.CCalendarTipView
_STNS.UI.CCalendarTipView=_STNS.Class(CUIObj)
CCalendarTipView.register("UI/CUIObj>CCalendarTipView");
CCalendarTipView.construct=function()
{
this.oCalendar=0;
with(_STNS.UI.CCalendarTipView)
{
this.fbUpDate=fbUpDate;
this.fvShow=fvShow;
}
};
CCalendarTipView.fbUpDate=function()
{
};
CCalendarTipView.fvShow=function()
{
};
//* Class: _STNS.UI.CCalendarLoadView
_STNS.UI.CCalendarLoadView=_STNS.Class(CUIObj);
CCalendarLoadView.register("UI/CUIObj>CCalendarLoadView");
CCalendarLoadView.construct=function()
{
this.oCalendar=0;
with(_STNS.UI.CCalendarLoadView)
{
this.sIco="images/search.gif";
this.sLoad="images/loading.gif";
this.sBlank="images/blank.gif";
this.fsGetHTML=fsGetHTML;
this.fbGetEnt=fbGetEnt;
this.fbLoadCal=fbLoadCal;
this.fbUpDate=fbUpDate;
this.fvShow=fvShow;
this.fbAttachEnt("clickevent",fbLoadCal);
}
};
CCalendarLoadView.fsGetHTML=function()
{
var _r=_STNS,_u=_STNS.UI;
if(!this.oCalendar) return "";
var s="<form ><div class='calendarEvent' style='float:left;padding-right:10px;'>" +
"<input type='checkbox'" +
" id='"+this.sUid+"_ent0'"+
" "+
_u.fsGetEnt(this,"click","event")+
">" +
"<img src='"+this.sIco+"' >All</div>";
for(var i=0;i<this.oCalendar.aCals.length;i++)
s+="<div class='calendarEvent' style='float:left;padding-right:10px;'>" +
"<input type='checkbox'" +
" id='"+this.sUid+"_ent"+(i+1)+"'"+
" "+
_u.fsGetEnt(this,"click","event")+
">" +
"<img src='"+this.oCalendar.aCals[i].sIco+"' >"+
this.oCalendar.aCals[i].sTxt+
"<img src='"+this.sBlank+"' " +
" id='"+this.sUid+"_flag"+(i+1)+"'>" +
"</div>";
s+="</form>";
return s;
};
CCalendarLoadView.fbUpDate=function()
{
var _r=_STNS,_u=_STNS.UI,e,f=1,t;
for(var i=0;i<this.oCalendar.aCals.length;i++)
{
t=0;
e=_r.fdmGetEleById(this.sUid+"_ent"+(i+1));
if(e)
{
for(var j=0;j<this.oCalendar.aInfos.length;j++)
{
if(this.oCalendar.aInfos[j].sURL==this.oCalendar.aCals[i].sURL && this.oCalendar.aInfos[j].oInfo)
{
e.checked=true;
this.oCalendar.aCals[i].iStat=4;
e=_r.fdmGetEleById(this.sUid+"_flag"+(i+1));
if(e)
e.src=this.sBlank;
t=1;
}
}
if(!t && this.oCalendar.aCals[i].iStat!=1)
{
e.checked=false;
f=0;
}
}
}
e=_r.fdmGetEleById(this.sUid+"_ent0");
if(e && f)
{
e.checked=true;
}
else if(e)
e.checked=false;
for(var i=0;i<this.oCalendar.aCals.length;i++)
{
e=_r.fdmGetEleById(this.sUid+"_ent"+(i+1));
if(e && f)
e.disabled=1;
else if(e)
e.disabled=0;
}
};
CCalendarLoadView.fbLoadCal=function(as)
{
var e;
switch(as[0])
{
case 0:
e=_STNS.fdmGetEleById(this.sUid+"_ent0");
if(e)
{
if(e.checked)
{
for(var i=0;i<this.oCalendar.aCals.length;i++)
{
this.oCalendar.aCals[i].iStat=1;
e=_STNS.fdmGetEleById(this.sUid+"_ent"+(i+1));
e.disabled=1;
e=_STNS.fdmGetEleById(this.sUid+"_flag"+(i+1));
e.src=this.sLoad;
this.oCalendar.fbLoadInfo(this.oCalendar.aCals[i].sURL);
}
}
else
{
for(var i=0;i<this.oCalendar.aCals.length;i++)
this.oCalendar.fbDelInfo(this.oCalendar.aCals[i].sURL);
this.oCalendar.fbUpDate();
}
}
break;
default:
e=_STNS.fdmGetEleById(this.sUid+"_ent"+as[0]);
if(e)
{
if(e.checked)
{
this.oCalendar.aCals[as[0]-1].iStat=1;
e=_STNS.fdmGetEleById(this.sUid+"_flag"+as[0]);
e.src=this.sLoad;
for(var i=0;i<this.oCalendar.aCals.length;i++)
this.oCalendar.fbDelInfo(this.oCalendar.aCals[i].sURL)
this.oCalendar.fbLoadInfo(this.oCalendar.aCals[as[0]-1].sURL);
}
else
this.oCalendar.fbDelInfo(this.oCalendar.aCals[as[0]-1].sURL);
}
this.oCalendar.fbUpDate();
break;
}
return true;
};
CCalendarLoadView.fbGetEnt=function(e,o)
{
var et=e.type || e,oid=o.id,_r=_STNS;
with(this)
{
switch(et)
{
case "click":
var i=parseInt(oid.substr((this.sUid+"_ent").length))
if(!isNaN(i))
return fbFireEnt("clickevent",[i]);
default:
return fbFireEnt(et);
}
}
return true;
};
CCalendarLoadView.fvShow=function()
{
document.write(this.fsGetHTML())
};
//* Class: _STNS.UI.CCalendarSelectView
_STNS.UI.CCalendarSelectView=_STNS.Class(CUIObj);
CCalendarSelectView.register("UI/CUIObj>CCalendarSelectView");
CCalendarSelectView.construct=function()
{
this.sFormat="%t%m%d%y";
this.oCalendar=0;
with(_STNS.UI.CCalendarSelectView)
{
this.fvShow=fvShow;
this.fsGetHTML=fsGetHTML;
this.fbUpDate=fbUpDate;
this.fbChangeDate=fbChangeDate;
this.fbGetEnt=fbGetEnt;
this.fbOutTD=fbOutTD;
this.fbOutTD=fbOutTD;
this.fbSelectTD=fbSelectTD;
this.fbAttachEnt("change",fbChangeDate);
this.fbAttachEnt("mouseover",fbOverTD);
this.fbAttachEnt("mouseout",fbOutTD);
this.fbAttachEnt("click",fbSelectTD);
}
};
CCalendarSelectView.MONTHS=["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"];
CCalendarSelectView.fsGetHTML=function()
{
var y="",m="",d="",t="",s=this.sFormat,_r=_STNS,_u=_r.UI,_c=_u.CCalendarSelectView;
var cy=1900,cm=1,cd=1;
if(this.oCalendar)
{
cy=this.oCalendar.iCurYear;
cm=this.oCalendar.iCurMonth;
cd=this.oCalendar.iCurDate;
}
t+= "<span class='calendarSTody'" +
" id='"+this.sUid+"_td' title='今天'"+
" "+
_u.fsGetEnt(this,"click")+
" "+
_u.fsGetEnt(this,"mouseover")+
" "+
_u.fsGetEnt(this,"mouseout")+
"> </span>";
m+= "<select class='calendarSelect'" +
" id='"+this.sUid+"_sm'"+
" "+
_u.fsGetEnt(this,"change")+
">";
for(var i=0;i<12;i++)
m+="<option value='"+(i+1)+"'"+((i+1)==cm?" SELECTED":"")+">"+_c.MONTHS[i]+"</option>";
m+="</select>";
y+="<select class='calendarSelect'" +
" id='"+this.sUid+"_sy'"+
" "+
_u.fsGetEnt(this,"change")+
">";
for(var i=0;i<200;i++)
y+= "<option value='"+(1900+i)+"'"+((i+1900)==cy?" selected":"")+">"+(1900+i)+"</option>";
y+= "</select>";
d+="<select class='calendarSelect'" +
" id='"+this.sUid+"_sd'"+
" "+
_u.fsGetEnt(this,"change")+
">";
for(var i=1;i<10;i++)
d+= "<option value="+i+(i==cd?" selected":"")+">0"+i+"</option>";
for(var i=10;i<32;i++)
d+= "<option value="+i+(i==cd?" selected":"")+">"+i+"</option>";
d+= "</select>";
s=s.replace("%t",t);
s=s.replace("%m",m);
s=s.replace("%d",d);
s=s.replace("%y",y);
return s;
};
CCalendarSelectView.fvShow=function()
{
document.write(this.fsGetHTML())
};
CCalendarSelectView.fbUpDate=function()
{
if(this.oCalendar)
{
var e,_r=_STNS;
e=_r.fdmGetEleById(this.sUid+"_sy");
if(e)
for(var i=0;i<e.options.length;i++)
if(e.options[i].value==this.oCalendar.iCurYear)
{
e.options[i].selected=true;
break;
}
e=_r.fdmGetEleById(this.sUid+"_sm");
if(e)
for(var i=0;i<e.options.length;i++)
if(e.options[i].value==this.oCalendar.iCurMonth)
{
e.options[i].selected=true;
}
e=_r.fdmGetEleById(this.sUid+"_sd");
if(e)
for(var i=0;i<e.options.length;i++)
if(e.options[i].value==this.oCalendar.iCurDate)
{
e.options[i].selected=true;
break;
}
}
return true;
};
CCalendarSelectView.fbGetEnt=function(e,o)
{
var et=e.type || e,oid=o.id,_r=_STNS;
with(this)
{
switch(et)
{
case "mouseover":
if(!o._ov && ((_r.bIsIE && e.srcElement && _r.fbIsPar(o,e.srcElement)) || (!_r.bIsIE &&e.target && _r.fbIsPar(o,e.target))))
{
o._ov=1;
return fbFireEnt("mouseover");
}
break;
case "mouseout":
if(o._ov &&((_r.bIsIE && (!e.toElement || !_r.fbIsPar(o,e.toElement))) || !_r.bIsIE &&(!e.relatedTarget || !_r.fbIsPar(o,e.relatedTarget))))
{
o._ov=0;
return fbFireEnt("mouseout");
}
break;
case "click":
return fbFireEnt("click");
break;
case "change":
return this.fbFireEnt("change",[oid]);
default:
return this.fbFireEnt(et);
}
}
};
CCalendarSelectView.fbChangeDate=function(as)
{
if(this.oCalendar)
{
var cy=this.oCalendar.iCurYear,cm=this.oCalendar.iCurMonth,cd=this.oCalendar.iCurDate,e,_r=_STNS;
switch(as[0])
{
case this.sUid+"_sy":
e=_r.fdmGetEleById(as[0]);
if(e)
for(var i=0;i<e.options.length;i++)
if(e.options[i].selected)
{
cy=e.options[i].value;
break;
}
break;
case this.sUid+"_sm":
e=_r.fdmGetEleById(as[0]);
if(e)
for(var i=0;i<e.options.length;i++)
if(e.options[i].selected)
{
cm=e.options[i].value;
break;
}
break;
case this.sUid+"_sd":
e=_r.fdmGetEleById(as[0]);
if(e)
for(var i=0;i<e.options.length;i++)
if(e.options[i].selected)
{
cd=e.options[i].value;
break;
}
break;
}
this.oCalendar.fbSetDate(cy,cm,cd);
this.oCalendar.fbUpDate();
}
return true;
};
CCalendarSelectView.fbOutTD=function()
{
var e=_STNS.fdmGetEleById(this.sUid+"_td");
if(e)
e.className=e.className.replace(" calendarSOverTD","");
};
CCalendarSelectView.fbOverTD=function()
{
var e=_STNS.fdmGetEleById(this.sUid+"_td");
if(e && e.className.indexOf(" calendarSOverTD")==-1)
e.className=e.className+" calendarSOverTD";
};
CCalendarSelectView.fbSelectTD=function()
{
if(this.oCalendar)
this.oCalendar.fbSelectToday();
return true;
};
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -