- 浏览: 21779 次
- 性别:
- 来自: 大连
文章分类
最新评论
-
插上翅膀的小猪:
感觉挺好的。
对序列化的理解 -
newzhq:
领域模型设计或者领域模型设计,我们看的书一般都是以充血模型,领 ...
UML OOA OOD -
zqb666kkk:
...
Extjs2.2+struts2.0.14+spring2.5.6+Hibernate3.3应用
<HTML><HEAD><TITLE>Calendar</TITLE>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<SCRIPT language=JavaScript>
var gd=new Date();
var gToday=[gd.getFullYear(),gd.getMonth()+1,gd.getDate()];
var agenda=new Array;
var gfSelf=parent.document.getElementById(self.name);
//var theme=self.name.split(":");
var gCurMonth=eval(gToday);
parent.gfPop=parent.frames[self.name];
function addEvent(date, message, color, action, imgsrc) {
agenda[date] = new Array(message, color, action, imgsrc);
}
function popup(url, framename) {
self.open(url,framename,gsPopConfig);
}
/*
with (document) {
write("<link rel='stylesheet' type='text/css' href='"+theme[1]+".css'>");
write("<script language='JavaScript' src='"+theme[1]+".js'></scr"+"ipt>");
write("<script language='JavaScript' src='"+theme[2]+"'></scr"+"ipt>");
}
*/
</SCRIPT>
<STYLE>A:link {
TEXT-DECORATION: none
}
A:visited {
TEXT-DECORATION: none
}
TD {
VERTICAL-ALIGN: middle; TEXT-ALIGN: center
}
.CalHead {
FONT: bold 10pt Arial; COLOR: mintcream
}
.CalCell {
FONT: 9pt Arial; CURSOR: hand; TEXT-ALIGN: center
}
.CalTitle {
FONT: bold 12pt Courier; COLOR: white
}
.Today {
FONT: bold 10pt Arial; COLOR: #426c81
}
.HeadBtn {
BORDER-RIGHT: #000000 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: #000000 1px solid; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; FONT: 10pt Fixedsys; VERTICAL-ALIGN: middle; BORDER-LEFT: #000000 1px solid; WIDTH: 18px; PADDING-TOP: 0px; BORDER-BOTTOM: #000000 1px solid; HEIGHT: 22px; TEXT-ALIGN: center
}
.HeadBox {
FONT-WEIGHT: normal; FONT-SIZE: 10pt; VERTICAL-ALIGN: middle; LINE-HEIGHT: normal; FONT-STYLE: normal; FONT-VARIANT: normal
}
.toleft {
TEXT-ALIGN: left
}
.toright {
TEXT-ALIGN: right
}
</STYLE>
<META content="MSHTML 6.00.2800.1458" name=GENERATOR></HEAD>
<BODY onmouseup="self.status='';return true;" leftMargin=0 topMargin=0
marginwidth="0" marginheight="0">
<SCRIPT language=JavaScript>
// --------------- From here you can config the options freely! ----------------
var gsPopConfig="top=200,left=200,width=400,height=200,scrollbars=1,resizable=1"; // the look of popup window
var gMonths=new Array("1","2","3","4","5","6","7","8","9","10","11","12");
var gWeekDay=new Array("Su","Mo","Tu","We","Th","Fr","Sa");
var gsToday="Today : "+gToday[0]+"/"+gMonths[gToday[1]-1]+"/"+gToday[2]; // The expression of Today-Part.
var giCellWidth=18; // Calendar cell width;
var giCellHeight=18; // Calendar cell height;
var gbHideDC=false; // Replace the Date Controls at the top with gsCalTitle. If set true, gbCMFocus should be set to false!!
var gbHideToday=false; // Remove the Today Part from the bottom
var gsCalTitle="(gMonths[gCurMonth[1]-1]+' '+gCurMonth[0])"; // dynamic statement to be eval-ed
var gBegin=[1900,1,1]; // Valid Range begin from [Year,Month,Date]
var gEnd=[2050,12,31]; // Valid Range end at [Year,Month,Date]
var gsOutOfRange="The date is out of valid range!"; // Range Error Message
var gbEuroCal=false; // Show European Calendar Layout - Sunday goes after Saturday
var gsSplit="-"; // Separator of date string, AT LEAST one char.
var giDatePos=2; // Date format 0: D-M-Y ; 1: M-D-Y; 2: Y-M-D
var gbDigital=true; // true: 01-05-2001 ; false: 1-May-2001
var gbShortYear=false; // Set the year format in short, i.e. 79 instead of 1979
var gpicBG=null; // url of background image
var gsBGRepeat="no-repeat";// repeat mode of background image, except NN4. [no-repeat,repeat,repeat-x,repeat-y]
var gcBG="white"; // Background color of the cells. Use "" for transparent!
var gcFrame="gray"; // Frame color
var gsCalTable="border=0 cellpadding=2 cellspacing=1"; // the properties of calendar <table> tag
var gcCalBG="#ffffff"; // Background color of the calendar
var gcTodayBG="#CADDE1"; // The background highlight color of today
var gcSat="darkcyan"; // Saturday color
var gcSun="red"; // Sunday color
var gcWorkday="black"; // Workday color
var gcOtherDay="silver"; // The day color of other months
// gcOtherDay must be set in literal format, digital & rgb() format will not work in either NN6 or NN4!
var gcToggle="yellow"; // highlight color of focused cell
//------------configring the options over---------------------------------------------
////////// Default Action when you click a normal date //////////
var gsAction="fDemoCheck(y,m,d);"; // This is for demo use.
//var gsAction=""; // This should be the normal config.
////////////// Add Agendas //////////////////////////////////////////
// Usage -- addEvent(date, message, color, action, imgsrc);
// Notice:
// 1. The format of event date is defined in fHoliday() plug-in. Current format is Y-M-D.
// 2. In the action part you can use any javascript statement.
// 3. Assign <null> to action part will result in a line-through effect of that day, while <" "> not.
// 4. imgsrc is the URL of your image, you can omit it if no image to show.
/////////////////////////////////////////////////////////////////////
//addEvent("2001-5-13", "Disabled Date!", gcBG, null);
//addEvent("2001-5-14", "You may customize me!", "gray", "popup('mailto:liuss@neusoft.com?subject=Excellent Calendar')");
//addEvent("2001-6-6", "If you arrive on today, then your departure time will be confined!", "lightsteelblue", "fDemoArrive(y,m,d)");
//addEvent("2001-6-20", "If you depart on today, then your arrival time will be confined!", "lightsteelblue", "fDemoDepart()");
//addEvent("2001-6-12", " June 12, 2001 \n PopCalendarXP 3.0 Unleashed! ", "skyblue", gsAction+"popup('readme.txt');");
////////////////////////////////////////////////////////////////////////////////
// Holiday PLUG-IN Function -- return [message,color,action,imgsrc] like agenda!
////////////////////////////////////////////////////////////////////////////////
function fHoliday(y,m,d) {
///// Uncomment any of the following two lines will give you special effect! ///
// if (m!=gCurMonth[1]||y!=gCurMonth[0]) return ["",gcOtherDay,null]; // hide the days of other months
// if (new Date(y,m-1,d+1)<gd) return ["",gcBG]; // cross-over the past days
////////////////////////////////////////////////////////////////////////////////
var r=agenda[y+"-"+m+"-"+d]; // Define your agenda date format here!!
if (false&&r) return r; // put this line to the end will lower the priority of agenda events.
if (false&&m==12&&d==25)
r=["Merry Xmas!", "seagreen"];
else if (false&&m==12&&d==26)
r=[" Boxing Day! \n Let's go shopping ... ", "skyblue", gsAction+"popup('readme.txt','main');"];
else if (false&&m==10&&d==1)
r=[" China National Day! \n Let's enjoy a long vacation ... ", "skyblue", gsAction];
return r;
}
/////// Add your self-defined functions here ///////
var gdc, gmc, gyc;
function fDemoPop(dayc,monc,yearc,dateCtrl,range) {
gdc=dayc; gmc=monc; gyc=yearc;
dateCtrl.value=gdc.value+"-"+gmc.value+"-"+gyc.value;
fPopCalendar(dateCtrl, range);
}
//������������Ф��ɤ����ʖˤ��롣
function fDemoCheck(y,m,d) {
if (gdCtrl.name=="dc1") {
with(parent.document.forms["demoform"]){gdc.value=d;gmc.value=m;gyc.value=y;};
parent.depRange=[];
}
if (gdCtrl.name=="dc2")
parent.arrRange=[];
}
function fDemoArrive(y,m,d) {
if (gdCtrl.name=="dc1") {
with(parent.document.forms["demoform"]){gdc.value=d;gmc.value=m;gyc.value=y;};
parent.depRange=[[2001,6,10],[2001,6,20],[2001,6,13]];
}
}
function fDemoDepart() {
if (gdCtrl.name=="dc2")
parent.arrRange=[[2001,6,1],[2001,6,10]];
}
var gdBegin,gdEnd,gRange;
var gdSelect=[0,0,0];
var gcbMon,gcbYear;
var gdCtrl;
var gcTemp=gcBG;
var gCellSet=[];
var giSat=(gbEuroCal)?5:6;
var giSun=(gbEuroCal)?6:0;
if (gbEuroCal)
gWeekDay=[].concat(gWeekDay.slice(1), gWeekDay[0]);
var cal=[];
for (var i=0;i<6;i++)
cal[i]=[];
//****************************************************************************
// dateCtrl is the widget into which you want to put the selected date;
// range is an array in this format [RangeBeginDate, RangeEndDate {,disabledDate}]
//****************************************************************************
function is_null_text(ob1)
{
if ( ob1.value.length > 0 )
{
var i;
for (i = 0; i < ob1.value.length; i++)
{
if (ob1.value.charAt(i) != ' ') return false;
}
ob1.value = "";
return true;
}
else return true;
}
var flag_alert = true;
function isDate(ob1, ob2, ob3)
{
var day=[31,(ob1%4==0&&ob1%100!=0||ob1%400==0)?29:28,31,30,31,30,31,31,30,31,30,31];
if (isNaN(ob1) || ((ob1 - 0) <= 0))
{
flag_alert = false;
return false;
}
if (isNaN(ob2) || ((ob2 - 0) <= 0) || ((ob2 - 12) > 0))
{
flag_alert = false;
return false;
}
var Max = day[ob2 - 1];
if (isNaN(ob3) || ((ob3 - 0) <= 0) || ((ob3 - Max - 0) > 0))
{
flag_alert = false;
return false;
}
return true;
}
function no_date(ob1)
{
var is_year = ob1.value.substring(0, 4);
var is_month = ob1.value.substring(5, 7);
var is_date = ob1.value.substring(8);
var is_1 = ob1.value.substring(4, 5);
var is_2 = ob1.value.substring(7,;
if (isDate(is_year, is_month, is_date))
{
if (is_1 == "-" && is_2 == "-")
{
return false;
}
else
{
flag_alert = false;
return true;
}
}
else return true;
}
function fDate(fDate) {
if (is_null_text(fDate)) return false;
flag_alert = true;
if ((fDate.value.length != 10) || no_date(fDate))
{
if (flag_alert)
//add by songl
fDate.focus();
fDate.select();
return true;
}
return false;
}
function fBlur(ob1) {
if (fDate(ob1))
{
ob1.value = "";
}
}
var flag_month = false;
var pay_day;
function fPopMonth(dateCtrl,range,payDay){
//if (fDate(dateCtrl)) return;
flag_month = true;
pay_day = payDay;
var pc=dateCtrl;
if (gdCtrl!=pc)
gdCtrl=pc;
else if (gfSelf.style.visibility=="visible") {
fHideCal();
return;
}
var s=fParseDate(gdCtrl.value);
if (s==null) {
s=eval(gToday);
gdSelect=[0,0,0];
} else
gdSelect=s;
fInitRange(range);
if (!fSetCal(s[0], s[1])) {
fHideCal();
return;
}
var p=fGetXY(pc);
with (gfSelf.style) {
left=p[0]-1;
top =p[1]+pc.offsetHeight+1;
visibility="visible";
}
}
var gyearCtrl;
var gmonCtrl;
var gdayCtrl;
function fPopCalendar1(yearCtrl, monCtrl, dayCtrl) {
gyearCtrl = yearCtrl;
gmonCtrl = monCtrl;
gdayCtrl = dayCtrl;
fPopCalendar(yearCtrl);
}
function fPopCalendar(dateCtrl,range){
// if (fDate(dateCtrl)) return;
var pc=dateCtrl;
if (gdCtrl!=pc)
gdCtrl=pc;
else if (gfSelf.style.visibility=="visible") {
fHideCal();
return;
}
var s=fParseDate(gdCtrl.value);
if (s==null) {
s=eval(gToday);
gdSelect=[0,0,0];
} else
gdSelect=s;
fInitRange(range);
if (!fSetCal(s[0], s[1])) {
fHideCal();
return;
}
var p=fGetXY(pc);
with (gfSelf.style) {
left=p[0]-1;
top =p[1]+pc.offsetHeight+1;
visibility="visible";
}
}
function fHideCal() {
if (gfSelf == null)
return;
with (gfSelf.style) {
visibility="hidden";
// top=parseInt(top)-10; // for nn6 bug
top=0; // for nn6 bug
}
}
function fGetXY(aTag){
var p=[0,0];
while(aTag!=null){
p[0]+=aTag.offsetLeft;
p[1]+=aTag.offsetTop;
aTag=aTag.offsetParent;
}
return p;
}
//--------
function fInitRange(r) {
gRange=r?r:[];
var rb=gRange[0]?r[0]:gBegin;
gdBegin=new Date(rb[0],rb[1]-1,rb[2]);
var re=gRange[1]?r[1]:gEnd;
gdEnd=new Date(re[0],re[1]-1,re[2]);
}
function fillZero(str){
if(str < 10){
return "0"+ str;
}else {
return str;
}
}
function fSetDate(y,m,d){
var action=fGetAgenda([y,m,d])[2];
if (!action)
return;
gCurMonth=[y,m];
gdSelect=[y,m,d];
gdCtrl.value=fFormatDate(y,m,d);
if (gyearCtrl != null) {
gyearCtrl.value = y;
gmonCtrl.value = fillZero(m);
gdayCtrl.value = fillZero(d);
}
fHideCal();
eval(action);
}
function setNull(){
gdCtrl.value="";
gyearCtrl.value = "";
gmonCtrl.value = "";
gdayCtrl.value = "";
fHideCal();
}
function fParseDate(ds) {
var r=null;
var i;
if (ds!=null) {
var pd=ds.split(gsSplit);
if (pd.length==3) {
var m=pd[giDatePos==1?0:1];
for (i=0; (i<12)&&(gMonths[i].substring(0,3).toLowerCase()!=m.substring(0,3).toLowerCase())&&(i+1!=m); i++);
if (i<12) {
var y=parseInt(pd[giDatePos==2?0:2].substring(0,4),10);
var pf=Math.floor(gEnd[0]/100)*100;
r=[y<100?y>gEnd[0]%100?pf-100+y:pf+y:y,i+1,parseInt(pd[giDatePos],10)];
} else
return null;
} else
return null;
var td=new Date(r[0],r[1]-1,r[2]);
if (isNaN(td)||td.getMonth()!=r[1]-1)
return null;
gdCtrl.value=fFormatDate(r[0],r[1],r[2]);
}
return r;
}
function fGetAgenda(d) {
var s=fCalibrate(d[0],d[1]);
if (!fValidRange(s[0],s[1],d[2]))
return [gsOutOfRange, gcBG];
for (var i=2; i<gRange.length; i++)
if (gRange[i][2]==d[2]&&gRange[i][1]==s[1]&&gRange[i][0]==s[0])
return [gsOutOfRange, gcBG];
var ag=fHoliday(s[0],s[1],d[2]);
if (ag==null)
ag=["",gcBG,gsAction];
return ag;
}
function fValidRange(y,m,d) {
var date=new Date(y,m-1,d);
return (date>=gdBegin)&&(date<=gdEnd);
}
function fCalibrate(y,m) {
if (m<1) { y--; m=12; }
else if (m>12) { y++; m=1; }
return [y,m];
}
function fFormatMonth(y,m,d){
var M=gbDigital?m<10?"0"+m:m:gMonths[m-1];
var D=gbDigital&&d<10?"0"+d:d;
var sy=y%100;
sy=sy<10?"0"+sy:sy;
switch (giDatePos) {
case 0: return M+gsSplit+(gbShortYear?sy:y);
case 1: return M+gsSplit+(gbShortYear?sy:y);
case 2: return (gbShortYear?sy:y)+gsSplit+M;
}
}
function fFormatDate(y,m,d){
var M=gbDigital?m<10?"0"+m:m:gMonths[m-1];
if (flag_month)
var D = pay_day;
else
var D=gbDigital&&d<10?"0"+d:d;
var sy=y%100;
sy=sy<10?"0"+sy:sy;
switch (giDatePos) {
case 0: return D+gsSplit+M+gsSplit+(gbShortYear?sy:y);
case 1: return M+gsSplit+D+gsSplit+(gbShortYear?sy:y);
case 2: return (gbShortYear?sy:y)+gsSplit+M+gsSplit+D;
}
}
function fBuildCal(y,m) {
m=parseInt(m,10);
var days=[31,31,(y%4==0&&y%100!=0||y%400==0)?29:28,31,30,31,30,31,31,30,31,30,31];
var dCalDate=new Date(y,m-1,1);
var iDayOfFirst=dCalDate.getDay();
if (gbEuroCal)
if (--iDayOfFirst<0)
iDayOfFirst=6;
var iOffsetLast=days[m-1]-iDayOfFirst+1;
var iDate=1;
var iNext=1;
for (var d=0;d<7;d++)
cal[0][d]=(d<iDayOfFirst)?[m-1,-(iOffsetLast+d)]:[m,iDate++];
for (var w=1;w<6;w++)
for (var d=0;d<7;d++)
cal[w][d]=(iDate<=days[m])?[m,iDate++]:[m+1,-(iNext++)];
return cal;
}
function fCheckRange(y,m) {
if (y>gEnd[0]||y<gBegin[0]||(y==gBegin[0]&&m<gBegin[1])||(y==gEnd[0]&&m>gEnd[1])) {
alert(gsOutOfRange);
if (gcbMon) gcbMon.options[gCurMonth[1]-1].selected=true;
if (gcbYear) gcbYear.options[gCurMonth[0]-gBegin[0]].selected=true;
return false;
}
return true;
}
//------------------
function fSetSelected(aCell) {
var s=fGetSelected(aCell);
fSetDate(s[0],s[1],s[2]);
}
function fGetSelected(aCell){
var iOffset=0;
var y=(gcbYear)?parseInt(gcbYear.value):gCurMonth[0];
var m=(gcbMon)?parseInt(gcbMon.value):gCurMonth[1];
aCell.bgColor=gcBG;
with (aCell.firstChild){
var d=parseInt(innerHTML,10);
if (style.color==gcOtherDay)
iOffset=(id<10)?-1:1;
m+=iOffset;
if (m<1) {
y--;
m=12;
}else if (m>12){
y++;
m=1;
}
return [y,m,d];
}
}
function fDrawCal() {
var sTD=" width='"+giCellWidth+"' style='height:"+giCellHeight+";' ";
var sDIV=" style='position:relative;height:"+(giCellHeight-4)+";width:"+giCellWidth+";' ";
var id=0;
with (document) {
write("<tr>");
for (var i=0; i<7; i++)
write("<td class='CalHead' "+sTD+">"+gWeekDay[i]+"</td>");
write("</tr>");
for (var w=1; w<7; w++) {
write("<tr>");
for (var d=0; d<7; d++) {
write("<td "+sTD+"><div class='CalCell' "+sDIV+" onMouseOver='gcTemp=this.style.backgroundColor;this.style.backgroundColor=gcToggle;self.status=this.title;return true;' onMouseOut='this.style.backgroundColor=gcTemp?gcTemp:\"transparent\";' onclick='fSetSelected(this);'>"); //Coded by Liming Weng(Victor Won) email:victorwon@netease.com
write("<A id='"+(id++)+"' href='javascript:' onfocus='this.blur();' onclick='return false;' >00</A></div></td>")
}
write("</tr>");
}
}
}
function fUpdateCal(y,m) {
var c=fBuildCal(y,m);
var ag,d;
for (var week=0; week<6; week++)
for (var day=0; day<7; day++) {
m=c[week][day][0];
d=c[week][day][1];
with (gCellSet[(7*week)+day]) {
if (d<0) {
style.color=gcOtherDay;
d=-d;
}else{
style.color=(day==giSun)?gcSun:(day==giSat)?gcSat:gcWorkday;
}
innerHTML=d;
ag=fGetAgenda([y,m,d]);
parentNode.title=ag[0];
style.textDecoration=(ag[2])?"none":"line-through";
if (ag[3]) innerHTML+="<BR><IMG SRC='"+ag[3]+"' BORDER=0></IMG>";
with (parentNode) {
style.backgroundColor=(m==gCurMonth[1])?(gdSelect+''==[y,m,d])?gcToggle:(gToday+''==[y,m,d])?gcTodayBG:ag[1]:ag[1];
style.backgroundColor=style.backgroundColor; // for nn6 bug
parentNode.bgColor=ag[1];
parentNode.bgColor=ag[1]; // for nn6 bug
}
}
}
}
function fSetCal(y,m){
if (!fCheckRange(y,m))
return false;
if (gcbMon) gcbMon.options[m-1].selected=true;
if (gcbYear) gcbYear.options[y-gBegin[0]].selected=true;
gCurMonth=[y,m];
fUpdateCal(y,m);
gfSelf.width=document.getElementById("popTable").offsetWidth;
gfSelf.height=document.getElementById("popTable").offsetHeight;
return true;
}
function fPrevMonth(){
var m=gcbMon.value;
var y=gcbYear.value;
if (--m<1) { m=12; y--; }
fSetCal(y,m);
}
function fNextMonth(){
var m=gcbMon.value;
var y=gcbYear.value;
if (++m>12) { m=1; y++; }
fSetCal(y,m);
}
fInitRange();
with (document) {
write("<TABLE id='popTable' bgcolor='"+gcCalBG+"' cellspacing='0' cellpadding='3' border='0'>");
if (!gbHideDC) {
write("<TR><TD align='center'>");
write(" <SELECT id='YearSelect' class='HeadBox' onChange='fSetCal(gcbYear.value, gcbMon.value)' Victor='Won'>");
for(var i=gBegin[0];i<=gEnd[0];i++)
write("<OPTION value='"+i+"'>"+i+"</OPTION>");
write("</SELECT> <select id='MonSelect' class='HeadBox' onChange='fSetCal(gcbYear.value, gcbMon.value)' Victor='Won'>");
for (var i=0; i<12; i++)
write("<option value='"+(i+1)+"'>"+gMonths[i]+"</option>");
write("</SELECT> </TD></TR>");
gcbMon=getElementById("MonSelect");
gcbYear=getElementById("YearSelect");
} else
write("<TR><TD align='center' class='CalTitle'>"+eval(gsCalTitle)+"</TD></TR>");
write("<TR><TD align='center'><DIV style='background:"+gcFrame+(gpicBG?" url("+gpicBG+") ":" ")+gsBGRepeat+";'><TABLE "+gsCalTable+" >");
fDrawCal();
gCellSet=getElementsByTagName("A");
fUpdateCal(gCurMonth[0],gCurMonth[1]);
write("</TABLE></DIV></TD></TR>");
if (!gbHideToday) {
write("<TR><TD align='center'>");
write("<A id='AToday' href='javascript:' class='Today' onclick='fSetDate(gToday[0],gToday[1],gToday[2]);this.blur();return false;' onMouseOver='gcTemp=this.style.color;this.style.color=gcToggle;self.status=this.title;return true;' onMouseOut='this.style.color=gcTemp'>"+gsToday+"</A>");
getElementById("AToday").title=fGetAgenda(gToday)[0];
write("</TD></TR>");
}
write("</TABLE>");
}
</SCRIPT>
</BODY></HTML>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<SCRIPT language=JavaScript>
var gd=new Date();
var gToday=[gd.getFullYear(),gd.getMonth()+1,gd.getDate()];
var agenda=new Array;
var gfSelf=parent.document.getElementById(self.name);
//var theme=self.name.split(":");
var gCurMonth=eval(gToday);
parent.gfPop=parent.frames[self.name];
function addEvent(date, message, color, action, imgsrc) {
agenda[date] = new Array(message, color, action, imgsrc);
}
function popup(url, framename) {
self.open(url,framename,gsPopConfig);
}
/*
with (document) {
write("<link rel='stylesheet' type='text/css' href='"+theme[1]+".css'>");
write("<script language='JavaScript' src='"+theme[1]+".js'></scr"+"ipt>");
write("<script language='JavaScript' src='"+theme[2]+"'></scr"+"ipt>");
}
*/
</SCRIPT>
<STYLE>A:link {
TEXT-DECORATION: none
}
A:visited {
TEXT-DECORATION: none
}
TD {
VERTICAL-ALIGN: middle; TEXT-ALIGN: center
}
.CalHead {
FONT: bold 10pt Arial; COLOR: mintcream
}
.CalCell {
FONT: 9pt Arial; CURSOR: hand; TEXT-ALIGN: center
}
.CalTitle {
FONT: bold 12pt Courier; COLOR: white
}
.Today {
FONT: bold 10pt Arial; COLOR: #426c81
}
.HeadBtn {
BORDER-RIGHT: #000000 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: #000000 1px solid; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; FONT: 10pt Fixedsys; VERTICAL-ALIGN: middle; BORDER-LEFT: #000000 1px solid; WIDTH: 18px; PADDING-TOP: 0px; BORDER-BOTTOM: #000000 1px solid; HEIGHT: 22px; TEXT-ALIGN: center
}
.HeadBox {
FONT-WEIGHT: normal; FONT-SIZE: 10pt; VERTICAL-ALIGN: middle; LINE-HEIGHT: normal; FONT-STYLE: normal; FONT-VARIANT: normal
}
.toleft {
TEXT-ALIGN: left
}
.toright {
TEXT-ALIGN: right
}
</STYLE>
<META content="MSHTML 6.00.2800.1458" name=GENERATOR></HEAD>
<BODY onmouseup="self.status='';return true;" leftMargin=0 topMargin=0
marginwidth="0" marginheight="0">
<SCRIPT language=JavaScript>
// --------------- From here you can config the options freely! ----------------
var gsPopConfig="top=200,left=200,width=400,height=200,scrollbars=1,resizable=1"; // the look of popup window
var gMonths=new Array("1","2","3","4","5","6","7","8","9","10","11","12");
var gWeekDay=new Array("Su","Mo","Tu","We","Th","Fr","Sa");
var gsToday="Today : "+gToday[0]+"/"+gMonths[gToday[1]-1]+"/"+gToday[2]; // The expression of Today-Part.
var giCellWidth=18; // Calendar cell width;
var giCellHeight=18; // Calendar cell height;
var gbHideDC=false; // Replace the Date Controls at the top with gsCalTitle. If set true, gbCMFocus should be set to false!!
var gbHideToday=false; // Remove the Today Part from the bottom
var gsCalTitle="(gMonths[gCurMonth[1]-1]+' '+gCurMonth[0])"; // dynamic statement to be eval-ed
var gBegin=[1900,1,1]; // Valid Range begin from [Year,Month,Date]
var gEnd=[2050,12,31]; // Valid Range end at [Year,Month,Date]
var gsOutOfRange="The date is out of valid range!"; // Range Error Message
var gbEuroCal=false; // Show European Calendar Layout - Sunday goes after Saturday
var gsSplit="-"; // Separator of date string, AT LEAST one char.
var giDatePos=2; // Date format 0: D-M-Y ; 1: M-D-Y; 2: Y-M-D
var gbDigital=true; // true: 01-05-2001 ; false: 1-May-2001
var gbShortYear=false; // Set the year format in short, i.e. 79 instead of 1979
var gpicBG=null; // url of background image
var gsBGRepeat="no-repeat";// repeat mode of background image, except NN4. [no-repeat,repeat,repeat-x,repeat-y]
var gcBG="white"; // Background color of the cells. Use "" for transparent!
var gcFrame="gray"; // Frame color
var gsCalTable="border=0 cellpadding=2 cellspacing=1"; // the properties of calendar <table> tag
var gcCalBG="#ffffff"; // Background color of the calendar
var gcTodayBG="#CADDE1"; // The background highlight color of today
var gcSat="darkcyan"; // Saturday color
var gcSun="red"; // Sunday color
var gcWorkday="black"; // Workday color
var gcOtherDay="silver"; // The day color of other months
// gcOtherDay must be set in literal format, digital & rgb() format will not work in either NN6 or NN4!
var gcToggle="yellow"; // highlight color of focused cell
//------------configring the options over---------------------------------------------
////////// Default Action when you click a normal date //////////
var gsAction="fDemoCheck(y,m,d);"; // This is for demo use.
//var gsAction=""; // This should be the normal config.
////////////// Add Agendas //////////////////////////////////////////
// Usage -- addEvent(date, message, color, action, imgsrc);
// Notice:
// 1. The format of event date is defined in fHoliday() plug-in. Current format is Y-M-D.
// 2. In the action part you can use any javascript statement.
// 3. Assign <null> to action part will result in a line-through effect of that day, while <" "> not.
// 4. imgsrc is the URL of your image, you can omit it if no image to show.
/////////////////////////////////////////////////////////////////////
//addEvent("2001-5-13", "Disabled Date!", gcBG, null);
//addEvent("2001-5-14", "You may customize me!", "gray", "popup('mailto:liuss@neusoft.com?subject=Excellent Calendar')");
//addEvent("2001-6-6", "If you arrive on today, then your departure time will be confined!", "lightsteelblue", "fDemoArrive(y,m,d)");
//addEvent("2001-6-20", "If you depart on today, then your arrival time will be confined!", "lightsteelblue", "fDemoDepart()");
//addEvent("2001-6-12", " June 12, 2001 \n PopCalendarXP 3.0 Unleashed! ", "skyblue", gsAction+"popup('readme.txt');");
////////////////////////////////////////////////////////////////////////////////
// Holiday PLUG-IN Function -- return [message,color,action,imgsrc] like agenda!
////////////////////////////////////////////////////////////////////////////////
function fHoliday(y,m,d) {
///// Uncomment any of the following two lines will give you special effect! ///
// if (m!=gCurMonth[1]||y!=gCurMonth[0]) return ["",gcOtherDay,null]; // hide the days of other months
// if (new Date(y,m-1,d+1)<gd) return ["",gcBG]; // cross-over the past days
////////////////////////////////////////////////////////////////////////////////
var r=agenda[y+"-"+m+"-"+d]; // Define your agenda date format here!!
if (false&&r) return r; // put this line to the end will lower the priority of agenda events.
if (false&&m==12&&d==25)
r=["Merry Xmas!", "seagreen"];
else if (false&&m==12&&d==26)
r=[" Boxing Day! \n Let's go shopping ... ", "skyblue", gsAction+"popup('readme.txt','main');"];
else if (false&&m==10&&d==1)
r=[" China National Day! \n Let's enjoy a long vacation ... ", "skyblue", gsAction];
return r;
}
/////// Add your self-defined functions here ///////
var gdc, gmc, gyc;
function fDemoPop(dayc,monc,yearc,dateCtrl,range) {
gdc=dayc; gmc=monc; gyc=yearc;
dateCtrl.value=gdc.value+"-"+gmc.value+"-"+gyc.value;
fPopCalendar(dateCtrl, range);
}
//������������Ф��ɤ����ʖˤ��롣
function fDemoCheck(y,m,d) {
if (gdCtrl.name=="dc1") {
with(parent.document.forms["demoform"]){gdc.value=d;gmc.value=m;gyc.value=y;};
parent.depRange=[];
}
if (gdCtrl.name=="dc2")
parent.arrRange=[];
}
function fDemoArrive(y,m,d) {
if (gdCtrl.name=="dc1") {
with(parent.document.forms["demoform"]){gdc.value=d;gmc.value=m;gyc.value=y;};
parent.depRange=[[2001,6,10],[2001,6,20],[2001,6,13]];
}
}
function fDemoDepart() {
if (gdCtrl.name=="dc2")
parent.arrRange=[[2001,6,1],[2001,6,10]];
}
var gdBegin,gdEnd,gRange;
var gdSelect=[0,0,0];
var gcbMon,gcbYear;
var gdCtrl;
var gcTemp=gcBG;
var gCellSet=[];
var giSat=(gbEuroCal)?5:6;
var giSun=(gbEuroCal)?6:0;
if (gbEuroCal)
gWeekDay=[].concat(gWeekDay.slice(1), gWeekDay[0]);
var cal=[];
for (var i=0;i<6;i++)
cal[i]=[];
//****************************************************************************
// dateCtrl is the widget into which you want to put the selected date;
// range is an array in this format [RangeBeginDate, RangeEndDate {,disabledDate}]
//****************************************************************************
function is_null_text(ob1)
{
if ( ob1.value.length > 0 )
{
var i;
for (i = 0; i < ob1.value.length; i++)
{
if (ob1.value.charAt(i) != ' ') return false;
}
ob1.value = "";
return true;
}
else return true;
}
var flag_alert = true;
function isDate(ob1, ob2, ob3)
{
var day=[31,(ob1%4==0&&ob1%100!=0||ob1%400==0)?29:28,31,30,31,30,31,31,30,31,30,31];
if (isNaN(ob1) || ((ob1 - 0) <= 0))
{
flag_alert = false;
return false;
}
if (isNaN(ob2) || ((ob2 - 0) <= 0) || ((ob2 - 12) > 0))
{
flag_alert = false;
return false;
}
var Max = day[ob2 - 1];
if (isNaN(ob3) || ((ob3 - 0) <= 0) || ((ob3 - Max - 0) > 0))
{
flag_alert = false;
return false;
}
return true;
}
function no_date(ob1)
{
var is_year = ob1.value.substring(0, 4);
var is_month = ob1.value.substring(5, 7);
var is_date = ob1.value.substring(8);
var is_1 = ob1.value.substring(4, 5);
var is_2 = ob1.value.substring(7,;
if (isDate(is_year, is_month, is_date))
{
if (is_1 == "-" && is_2 == "-")
{
return false;
}
else
{
flag_alert = false;
return true;
}
}
else return true;
}
function fDate(fDate) {
if (is_null_text(fDate)) return false;
flag_alert = true;
if ((fDate.value.length != 10) || no_date(fDate))
{
if (flag_alert)
//add by songl
fDate.focus();
fDate.select();
return true;
}
return false;
}
function fBlur(ob1) {
if (fDate(ob1))
{
ob1.value = "";
}
}
var flag_month = false;
var pay_day;
function fPopMonth(dateCtrl,range,payDay){
//if (fDate(dateCtrl)) return;
flag_month = true;
pay_day = payDay;
var pc=dateCtrl;
if (gdCtrl!=pc)
gdCtrl=pc;
else if (gfSelf.style.visibility=="visible") {
fHideCal();
return;
}
var s=fParseDate(gdCtrl.value);
if (s==null) {
s=eval(gToday);
gdSelect=[0,0,0];
} else
gdSelect=s;
fInitRange(range);
if (!fSetCal(s[0], s[1])) {
fHideCal();
return;
}
var p=fGetXY(pc);
with (gfSelf.style) {
left=p[0]-1;
top =p[1]+pc.offsetHeight+1;
visibility="visible";
}
}
var gyearCtrl;
var gmonCtrl;
var gdayCtrl;
function fPopCalendar1(yearCtrl, monCtrl, dayCtrl) {
gyearCtrl = yearCtrl;
gmonCtrl = monCtrl;
gdayCtrl = dayCtrl;
fPopCalendar(yearCtrl);
}
function fPopCalendar(dateCtrl,range){
// if (fDate(dateCtrl)) return;
var pc=dateCtrl;
if (gdCtrl!=pc)
gdCtrl=pc;
else if (gfSelf.style.visibility=="visible") {
fHideCal();
return;
}
var s=fParseDate(gdCtrl.value);
if (s==null) {
s=eval(gToday);
gdSelect=[0,0,0];
} else
gdSelect=s;
fInitRange(range);
if (!fSetCal(s[0], s[1])) {
fHideCal();
return;
}
var p=fGetXY(pc);
with (gfSelf.style) {
left=p[0]-1;
top =p[1]+pc.offsetHeight+1;
visibility="visible";
}
}
function fHideCal() {
if (gfSelf == null)
return;
with (gfSelf.style) {
visibility="hidden";
// top=parseInt(top)-10; // for nn6 bug
top=0; // for nn6 bug
}
}
function fGetXY(aTag){
var p=[0,0];
while(aTag!=null){
p[0]+=aTag.offsetLeft;
p[1]+=aTag.offsetTop;
aTag=aTag.offsetParent;
}
return p;
}
//--------
function fInitRange(r) {
gRange=r?r:[];
var rb=gRange[0]?r[0]:gBegin;
gdBegin=new Date(rb[0],rb[1]-1,rb[2]);
var re=gRange[1]?r[1]:gEnd;
gdEnd=new Date(re[0],re[1]-1,re[2]);
}
function fillZero(str){
if(str < 10){
return "0"+ str;
}else {
return str;
}
}
function fSetDate(y,m,d){
var action=fGetAgenda([y,m,d])[2];
if (!action)
return;
gCurMonth=[y,m];
gdSelect=[y,m,d];
gdCtrl.value=fFormatDate(y,m,d);
if (gyearCtrl != null) {
gyearCtrl.value = y;
gmonCtrl.value = fillZero(m);
gdayCtrl.value = fillZero(d);
}
fHideCal();
eval(action);
}
function setNull(){
gdCtrl.value="";
gyearCtrl.value = "";
gmonCtrl.value = "";
gdayCtrl.value = "";
fHideCal();
}
function fParseDate(ds) {
var r=null;
var i;
if (ds!=null) {
var pd=ds.split(gsSplit);
if (pd.length==3) {
var m=pd[giDatePos==1?0:1];
for (i=0; (i<12)&&(gMonths[i].substring(0,3).toLowerCase()!=m.substring(0,3).toLowerCase())&&(i+1!=m); i++);
if (i<12) {
var y=parseInt(pd[giDatePos==2?0:2].substring(0,4),10);
var pf=Math.floor(gEnd[0]/100)*100;
r=[y<100?y>gEnd[0]%100?pf-100+y:pf+y:y,i+1,parseInt(pd[giDatePos],10)];
} else
return null;
} else
return null;
var td=new Date(r[0],r[1]-1,r[2]);
if (isNaN(td)||td.getMonth()!=r[1]-1)
return null;
gdCtrl.value=fFormatDate(r[0],r[1],r[2]);
}
return r;
}
function fGetAgenda(d) {
var s=fCalibrate(d[0],d[1]);
if (!fValidRange(s[0],s[1],d[2]))
return [gsOutOfRange, gcBG];
for (var i=2; i<gRange.length; i++)
if (gRange[i][2]==d[2]&&gRange[i][1]==s[1]&&gRange[i][0]==s[0])
return [gsOutOfRange, gcBG];
var ag=fHoliday(s[0],s[1],d[2]);
if (ag==null)
ag=["",gcBG,gsAction];
return ag;
}
function fValidRange(y,m,d) {
var date=new Date(y,m-1,d);
return (date>=gdBegin)&&(date<=gdEnd);
}
function fCalibrate(y,m) {
if (m<1) { y--; m=12; }
else if (m>12) { y++; m=1; }
return [y,m];
}
function fFormatMonth(y,m,d){
var M=gbDigital?m<10?"0"+m:m:gMonths[m-1];
var D=gbDigital&&d<10?"0"+d:d;
var sy=y%100;
sy=sy<10?"0"+sy:sy;
switch (giDatePos) {
case 0: return M+gsSplit+(gbShortYear?sy:y);
case 1: return M+gsSplit+(gbShortYear?sy:y);
case 2: return (gbShortYear?sy:y)+gsSplit+M;
}
}
function fFormatDate(y,m,d){
var M=gbDigital?m<10?"0"+m:m:gMonths[m-1];
if (flag_month)
var D = pay_day;
else
var D=gbDigital&&d<10?"0"+d:d;
var sy=y%100;
sy=sy<10?"0"+sy:sy;
switch (giDatePos) {
case 0: return D+gsSplit+M+gsSplit+(gbShortYear?sy:y);
case 1: return M+gsSplit+D+gsSplit+(gbShortYear?sy:y);
case 2: return (gbShortYear?sy:y)+gsSplit+M+gsSplit+D;
}
}
function fBuildCal(y,m) {
m=parseInt(m,10);
var days=[31,31,(y%4==0&&y%100!=0||y%400==0)?29:28,31,30,31,30,31,31,30,31,30,31];
var dCalDate=new Date(y,m-1,1);
var iDayOfFirst=dCalDate.getDay();
if (gbEuroCal)
if (--iDayOfFirst<0)
iDayOfFirst=6;
var iOffsetLast=days[m-1]-iDayOfFirst+1;
var iDate=1;
var iNext=1;
for (var d=0;d<7;d++)
cal[0][d]=(d<iDayOfFirst)?[m-1,-(iOffsetLast+d)]:[m,iDate++];
for (var w=1;w<6;w++)
for (var d=0;d<7;d++)
cal[w][d]=(iDate<=days[m])?[m,iDate++]:[m+1,-(iNext++)];
return cal;
}
function fCheckRange(y,m) {
if (y>gEnd[0]||y<gBegin[0]||(y==gBegin[0]&&m<gBegin[1])||(y==gEnd[0]&&m>gEnd[1])) {
alert(gsOutOfRange);
if (gcbMon) gcbMon.options[gCurMonth[1]-1].selected=true;
if (gcbYear) gcbYear.options[gCurMonth[0]-gBegin[0]].selected=true;
return false;
}
return true;
}
//------------------
function fSetSelected(aCell) {
var s=fGetSelected(aCell);
fSetDate(s[0],s[1],s[2]);
}
function fGetSelected(aCell){
var iOffset=0;
var y=(gcbYear)?parseInt(gcbYear.value):gCurMonth[0];
var m=(gcbMon)?parseInt(gcbMon.value):gCurMonth[1];
aCell.bgColor=gcBG;
with (aCell.firstChild){
var d=parseInt(innerHTML,10);
if (style.color==gcOtherDay)
iOffset=(id<10)?-1:1;
m+=iOffset;
if (m<1) {
y--;
m=12;
}else if (m>12){
y++;
m=1;
}
return [y,m,d];
}
}
function fDrawCal() {
var sTD=" width='"+giCellWidth+"' style='height:"+giCellHeight+";' ";
var sDIV=" style='position:relative;height:"+(giCellHeight-4)+";width:"+giCellWidth+";' ";
var id=0;
with (document) {
write("<tr>");
for (var i=0; i<7; i++)
write("<td class='CalHead' "+sTD+">"+gWeekDay[i]+"</td>");
write("</tr>");
for (var w=1; w<7; w++) {
write("<tr>");
for (var d=0; d<7; d++) {
write("<td "+sTD+"><div class='CalCell' "+sDIV+" onMouseOver='gcTemp=this.style.backgroundColor;this.style.backgroundColor=gcToggle;self.status=this.title;return true;' onMouseOut='this.style.backgroundColor=gcTemp?gcTemp:\"transparent\";' onclick='fSetSelected(this);'>"); //Coded by Liming Weng(Victor Won) email:victorwon@netease.com
write("<A id='"+(id++)+"' href='javascript:' onfocus='this.blur();' onclick='return false;' >00</A></div></td>")
}
write("</tr>");
}
}
}
function fUpdateCal(y,m) {
var c=fBuildCal(y,m);
var ag,d;
for (var week=0; week<6; week++)
for (var day=0; day<7; day++) {
m=c[week][day][0];
d=c[week][day][1];
with (gCellSet[(7*week)+day]) {
if (d<0) {
style.color=gcOtherDay;
d=-d;
}else{
style.color=(day==giSun)?gcSun:(day==giSat)?gcSat:gcWorkday;
}
innerHTML=d;
ag=fGetAgenda([y,m,d]);
parentNode.title=ag[0];
style.textDecoration=(ag[2])?"none":"line-through";
if (ag[3]) innerHTML+="<BR><IMG SRC='"+ag[3]+"' BORDER=0></IMG>";
with (parentNode) {
style.backgroundColor=(m==gCurMonth[1])?(gdSelect+''==[y,m,d])?gcToggle:(gToday+''==[y,m,d])?gcTodayBG:ag[1]:ag[1];
style.backgroundColor=style.backgroundColor; // for nn6 bug
parentNode.bgColor=ag[1];
parentNode.bgColor=ag[1]; // for nn6 bug
}
}
}
}
function fSetCal(y,m){
if (!fCheckRange(y,m))
return false;
if (gcbMon) gcbMon.options[m-1].selected=true;
if (gcbYear) gcbYear.options[y-gBegin[0]].selected=true;
gCurMonth=[y,m];
fUpdateCal(y,m);
gfSelf.width=document.getElementById("popTable").offsetWidth;
gfSelf.height=document.getElementById("popTable").offsetHeight;
return true;
}
function fPrevMonth(){
var m=gcbMon.value;
var y=gcbYear.value;
if (--m<1) { m=12; y--; }
fSetCal(y,m);
}
function fNextMonth(){
var m=gcbMon.value;
var y=gcbYear.value;
if (++m>12) { m=1; y++; }
fSetCal(y,m);
}
fInitRange();
with (document) {
write("<TABLE id='popTable' bgcolor='"+gcCalBG+"' cellspacing='0' cellpadding='3' border='0'>");
if (!gbHideDC) {
write("<TR><TD align='center'>");
write(" <SELECT id='YearSelect' class='HeadBox' onChange='fSetCal(gcbYear.value, gcbMon.value)' Victor='Won'>");
for(var i=gBegin[0];i<=gEnd[0];i++)
write("<OPTION value='"+i+"'>"+i+"</OPTION>");
write("</SELECT> <select id='MonSelect' class='HeadBox' onChange='fSetCal(gcbYear.value, gcbMon.value)' Victor='Won'>");
for (var i=0; i<12; i++)
write("<option value='"+(i+1)+"'>"+gMonths[i]+"</option>");
write("</SELECT> </TD></TR>");
gcbMon=getElementById("MonSelect");
gcbYear=getElementById("YearSelect");
} else
write("<TR><TD align='center' class='CalTitle'>"+eval(gsCalTitle)+"</TD></TR>");
write("<TR><TD align='center'><DIV style='background:"+gcFrame+(gpicBG?" url("+gpicBG+") ":" ")+gsBGRepeat+";'><TABLE "+gsCalTable+" >");
fDrawCal();
gCellSet=getElementsByTagName("A");
fUpdateCal(gCurMonth[0],gCurMonth[1]);
write("</TABLE></DIV></TD></TR>");
if (!gbHideToday) {
write("<TR><TD align='center'>");
write("<A id='AToday' href='javascript:' class='Today' onclick='fSetDate(gToday[0],gToday[1],gToday[2]);this.blur();return false;' onMouseOver='gcTemp=this.style.color;this.style.color=gcToggle;self.status=this.title;return true;' onMouseOut='this.style.color=gcTemp'>"+gsToday+"</A>");
getElementById("AToday").title=fGetAgenda(gToday)[0];
write("</TD></TR>");
}
write("</TABLE>");
}
</SCRIPT>
</BODY></HTML>
相关推荐
在Java编程语言中,`Date`和`Calendar`类是处理日期和时间的核心组件。这两个类在不同的Java版本中有着不同的使用方式和功能,对于理解Java时间处理机制至关重要。本篇将深入探讨`Date`和`Calendar`类的实例应用。 ...
《简易日历Calendar Control 8.0:ActiveX技术在日历应用中的深度解析》 在信息技术领域,ActiveX控件是一种广泛应用于Windows操作系统上的组件技术,它允许开发者创建交互式且可重用的用户界面元素。其中,“简易...
ASP.NET Calendar日志添加方法 ASP.NET Calendar控件是ASP.NET中常用的日历控件,用于显示日期和事件信息。然而,在实际应用中,我们经常需要对每天添加日志信息,以便更好地记录和管理事件。本文将详细介绍如何...
《深入解析simplecalendar.js:构建记录事件的日历插件》 在现代网页设计中,日历插件已经成为不可或缺的一部分,它能帮助用户直观地管理时间安排和事件记录。"simplecalendar.js"是一款轻量级、易用且功能丰富的...
**jQuery事件日历插件calendar.js详解** 在网页设计中,日历插件是一个非常实用的元素,尤其在处理日期相关的交互时。"漂亮的jQuery事件日历插件calendar.js"正是这样一个工具,它能帮助开发者轻松地在网页上集成...
根据提供的文件信息,本文将对Java中的`Calendar`类进行详细的解析,并且通过示例代码进一步阐述其在日期与时间处理中的应用。 ### Calendar日期代码详解 #### 1. Calendar 类简介 `java.util.Calendar` 类是 ...
《Active Desktop Calendar 7.95 简体中文汉化补丁详解及应用》 Active Desktop Calendar是一款功能强大的桌面日历软件,以其便捷性和实用性深受用户喜爱。然而,对于中文用户来说,英文界面可能会带来一定的操作...
Ext JS Calendar 日历是一款强大的日历控件,适用于构建具有丰富功能的日程管理应用。它提供了多种视图,包括月视图、日视图和周视图,允许用户灵活查看和管理时间安排。本文将深入探讨Ext JS Calendar的核心组件、...
本文将详细介绍一个基于Vue2-Calendar组件进行改进的日历组件,该组件在原版基础上进行了多项优化,以满足更多样化的使用需求。首先,让我们了解一下Vue2-Calendar的基础知识。 Vue2-Calendar是一款适用于Vue.js...
LunarCalendar返回农历(阴历)日期的JAR包 根据指定日期计算对应农历日期(这个计算方法是网上找的,最初的作者是谁已经无法考证了,感谢网络资源吧!),本人封装成好用的JAR包后发不出来,供大家免费下载! ...
WebCalendar是一款基于JavaScript的网页日历控件,它允许用户在网页上方便地选择和操作日期,极大地提升了用户在网页上的交互体验。这个控件主要适用于那些需要在网页上进行日期输入或者事件管理的应用,例如在线...
本文将深入探讨“calendar选择时间控件”的实现及其特点,以满足用户对于日期和时间输入的需求。 首先,一个优秀的calendar时间控件需要提供直观、易用的界面,使用户能够方便快捷地选取日期或日期与时间。正如标题...
标题"**C#自定义控件Calendar、DatePicker样式**"表明了这个项目的目标是通过C#编程语言,对WPF的内置`Calendar`和`DatePicker`控件进行样式定制。这通常涉及到修改控件的模板,如边框、背景、字体大小、颜色等,以...
《calendar.js:构建高效日历插件的指南》 在当今的Web开发中,日历插件已经成为不可或缺的一部分,尤其在处理与日期相关的任务时。本文将深入探讨名为"calendar.js"的JavaScript日历插件,它允许用户轻松地设置...
<script type=\"text/javascript\" src=\"<%=ctx%>/js/calendar/calendar.js\"> <script type=\"text/javascript\" src=\"<%=ctx%>/js/calendar/calendar-zh.js\"> ...
gnome-calendar是一款开源桌面环境Gnome中的日历应用,它提供了直观的日程管理功能,包括查看日期、安排事件、设置提醒等。对于中国用户来说,除了公历日期外,农历的显示也是非常重要的一项功能。本篇文章将深入...
标题"Qt-Qml-Calendar_qml_QT_qml日历控件_calendar_"指的是一个专门用于创建日历组件的QML项目。这个项目可能包含了完整的源代码、示例和文档,帮助开发者快速理解和应用QML日历控件到他们的Qt应用程序中。 描述中...
《PyPI官网下载 | LunarCalendar-0.0.9.tar.gz——深入了解Python农历库》 在Python的世界里,丰富的第三方库是其强大功能的重要组成部分。本文将深入探讨一个名为"LunarCalendar"的Python库,该库可以从PyPI...
《jQuery Week Calendar控件:构建在线日程管理应用》 在Web开发中,日历控件是不可或缺的一部分,尤其对于需要处理时间安排和任务管理的应用来说。jQuery Week Calendar控件是一个强大而灵活的解决方案,它使得...
【标题】"前端项目-tui-calendar.zip"是一个包含前端日历组件源代码的压缩包,主要涉及的是"TOAST UI Calendar"。这个组件是TOAST UI系列产品的一部分,它为Web应用提供了灵活且功能丰富的日历功能。 【描述】"前端...