📄 calendarmws.js
字号:
vCode += ('<td width="14%" style="font-family:' + fontface + ';color:' +this.gHeaderColor + ';font-weight:bold;">Sun</td>'); vCode += ('<td width="14%" style="font-family:' + fontface + ';color:' +this.gHeaderColor + ';font-weight:bold;">Mon</td>'); vCode += ('<td width="14%" style="font-family:' + fontface + ';color:' +this.gHeaderColor + ';font-weight:bold;">Tue</td>'); vCode += ('<td width="14%" style="font-family:' + fontface + ';color:' +this.gHeaderColor + ';font-weight:bold;">Wed</td>'); vCode += ('<td width="14%" style="font-family:' + fontface + ';color:' +this.gHeaderColor + ';font-weight:bold;">Thu</td>'); vCode += ('<td width="14%" style="font-family:' + fontface + ';color:' +this.gHeaderColor + ';font-weight:bold;">Fri</td>'); vCode += ('<td width="16%" style="font-family:' + fontface + ';color:' +this.gHeaderColor + ';font-weight:bold;">Sat</td>'); vCode += '</tr>'; return vCode;}Calendar.prototype.cal_data = function() { var vDate = new Date(); vDate.setDate(1); vDate.setMonth(this.gMonth); vDate.setFullYear(this.gYear); var vNowDay = gNow.getDate(); var vNowMonth = gNow.getMonth(); var vNowYear = gNow.getFullYear(); var yOK=!ggInactive||vNowYear<=vDate.getFullYear()?1:0; var mOK=!ggInactive||vNowYear<vDate.getFullYear()|| (vNowYear==vDate.getFullYear()&&vNowMonth<=vDate.getMonth())?1:0; var ymOK=yOK&&mOK?1:0; var dOK=!ggInactive||vNowYear<vDate.getFullYear()||vNowMonth<vDate.getMonth()?1:0; var vFirstDay=vDate.getDay(); var vDay=1; var vLastDay=Calendar.get_daysofmonth(this.gMonth, this.gYear); var vOnLastDay=0; var vCode = '<tr>'; var i,j,k,m; var orig = eval("document." + this.gReturnItem + ".value").toString(); /* Get day for the 1st of the requested month/year.. Place as many blank cells before the 1st day of the month as necessary. */ for (i=0; i<vFirstDay; i++) { vCode += ('<td width="14%"' + this.write_weekend_string(i) +'style="font-family:\'' + fontface + '\';text-align:center;"> </td>'); } // Write rest of the 1st week for (j=vFirstDay; j<7; j++) { vCode += ('<td width="14%"' + this.write_weekend_string(j) +'style="font-family:\'' + fontface + '\';text-align:center;">' +((ymOK)&&(vDay>=vNowDay||dOK)?'<a href="javascript:void(0);" ' +'title="set date to ' + this.format_data(vDay) + '" ' +'onmouseover="window.status=\'set date to ' + this.format_data(vDay) + '\'; ' +'return true;" ' +'onmouseout="window.status=\'\'; return true;" ' +'onclick="document.' + this.gReturnItem + '.value=\'' + this.format_data(vDay) +'\';ggPosX= -1;ggPosY= -1;' + OLfnRef + 'cClick();' +'if((ggOnChange)&&(document.' + this.gReturnItem + '.value!=\'' + orig +'\'))ggOnChange();">':'') + this.format_day(vDay) +((ymOK)&&(vDay>=vNowDay||dOK)?'</a>':'') +'</td>'); vDay += 1; } vCode += '</tr>'; // Write the rest of the weeks for (k=2; k<7; k++) { vCode += '<tr>'; for (j=0; j<7; j++) { vCode += ('<td width="14%"' + this.write_weekend_string(j) +'style="font-family:\'' + fontface + '\';text-align:center;">' +((ymOK)&&(vDay>=vNowDay||dOK)?'<a ' +'href="javascript:void(0);" ' +'title="set date to ' + this.format_data(vDay) + '" ' +'onmouseover="window.status=\'set date to ' + this.format_data(vDay) +'\'; return true;" ' +'onmouseout="window.status=\'\'; return true;" ' +'onclick="document.' + this.gReturnItem + '.value=\'' + this.format_data(vDay) + '\';ggPosX= -1;ggPosY= -1;' + OLfnRef + 'cClick();' +'if((ggOnChange)&&(document.' + this.gReturnItem + '.value!=\'' +orig + '\'))ggOnChange();">':'') + this.format_day(vDay) +((ymOK)&&(vDay>=vNowDay||dOK)?'</a>':'') +'</td>'); vDay += 1; if (vDay > vLastDay) { vOnLastDay = 1; break; } } if (j == 6) vCode += '</tr>'; if (vOnLastDay == 1) break; } // Fill up the rest of last week with proper blanks, so that we get proper square blocks for (m=1; m<(7-j); m++) { vCode += ('<td width="14%"' + this.write_weekend_string(j+m) + 'style="font-family:\'' + fontface + '\';color:gray;text-align:center;"> </td>'); } return vCode;}Calendar.prototype.format_day = function(vday) { var vNowDay = gNow.getDate(); var vNowMonth = gNow.getMonth(); var vNowYear = gNow.getFullYear(); if (vday == vNowDay && this.gMonth == vNowMonth && this.gYear == vNowYear) return ('<span style="color:red;font-weight:bold;">' + vday + '</span>'); else return (vday);}Calendar.prototype.write_weekend_string = function(vday) { var i; // Return special formatting for the weekend day. for (i=0; i<weekend.length; i++) { if (vday == weekend[i]) return (' bgcolor="' + weekendColor + '"'); } return "";}Calendar.prototype.format_data = function(p_day) { var vData; var vMonth = 1 + this.gMonth; vMonth = (vMonth.toString().length < 2) ? "0" + vMonth : vMonth; var vMon = Calendar.get_month(this.gMonth).substr(0,3).toUpperCase(); var vFMon = Calendar.get_month(this.gMonth).toUpperCase(); var vY4 = new String(this.gYear); var vY2 = new String(this.gYear.substr(2,2)); var vDD = (p_day.toString().length < 2) ? "0" + p_day : p_day; switch (this.gFormat) { case "MM\/DD\/YYYY" : vData = vMonth + "\/" + vDD + "\/" + vY4; break; case "MM\/DD\/YY" : vData = vMonth + "\/" + vDD + "\/" + vY2; break; case "MM-DD-YYYY" : vData = vMonth + "-" + vDD + "-" + vY4; break; case "YYYY-MM-DD" : vData = vY4 + "-" + vMonth + "-" + vDD; break; case "MM-DD-YY" : vData = vMonth + "-" + vDD + "-" + vY2; break; case "DD\/MON\/YYYY" : vData = vDD + "\/" + vMon + "\/" + vY4; break; case "DD\/MON\/YY" : vData = vDD + "\/" + vMon + "\/" + vY2; break; case "DD-MON-YYYY" : vData = vDD + "-" + vMon + "-" + vY4; break; case "DD-MON-YY" : vData = vDD + "-" + vMon + "-" + vY2; break; case "DD\/MONTH\/YYYY" : vData = vDD + "\/" + vFMon + "\/" + vY4; break; case "DD\/MONTH\/YY" : vData = vDD + "\/" + vFMon + "\/" + vY2; break; case "DD-MONTH-YYYY" : vData = vDD + "-" + vFMon + "-" + vY4; break; case "DD-MONTH-YY" : vData = vDD + "-" + vFMon + "-" + vY2; break; case "DD\/MM\/YYYY" : vData = vDD + "\/" + vMonth + "\/" + vY4; break; case "DD\/MM\/YY" : vData = vDD + "\/" + vMonth + "\/" + vY2; break; case "DD-MM-YYYY" : vData = vDD + "-" + vMonth + "-" + vY4; break; case "DD-MM-YY" : vData = vDD + "-" + vMonth + "-" + vY2; break; case "DD.MM.YYYY" : vData = vDD + "." + vMonth + "." + vY4; break; case "DD.MM.YY" : vData = vDD + "." + vMonth + "." + vY2; break; default : vData = vMonth + "\/" + vDD + "\/" + vY4; } return vData;}function Build(p_item, p_month, p_year, p_format) { var gCal = new Calendar(p_item, p_month, p_year, p_format); // Customize your Calendar here.. gCal.gBGColor="white"; gCal.gLinkColor="black"; gCal.gTextColor="black"; gCal.gHeaderColor="darkgreen"; // initialize the content string ggWinContent = ""; // Check for DRAGGABLE support if (typeof ol_draggable == 'undefined') DRAGGABLE = DONOTHING; // Choose appropriate show function if (gCal.gYearly) { // Note: you can set ggPosX and ggPosY as part of the onclick javascript // code before you call the show_yearly_calendar function: // onclick="ggPosX=20;ggPosY=5;show_yearly_calendar(...);" if (OLns6) { if (ggPosX == -1) ggPosX = 20; if (ggPosY == -1) ggPosY = 10; } if (fontsize == 8) fontsize = 6; // generate the calendar gCal.showY(); } else { if (fontsize == 6) fontsize = 8; gCal.show(); } // Clear any previous EXCLUSIVE setting o3_exclusive=0; // If X and Y positions are not specified use MIDX and RELY if (ggPosX == -1 && ggPosY == -1) { overlib(ggWinContent, AUTOSTATUSCAP, STICKY, EXCLUSIVE, DRAGGABLE, CLOSECLICK, TEXTSIZE,'8pt', CAPTIONSIZE,'8pt', CLOSESIZE,'8pt', CAPTION,'Select a date', MIDX,0, RELY,10); // Otherwise use FIXX and FIXY } else { // Make sure popup is on screen var X = ((ggPosX < 10)?0:ggPosX - 10), Y = ((ggPosY < 10)?0:ggPosY - 10); window.scroll(X, Y); // Put up the calendar overlib(ggWinContent, AUTOSTATUSCAP, STICKY, EXCLUSIVE, DRAGGABLE, CLOSECLICK, TEXTSIZE,'8pt', CAPTIONSIZE,'8pt', CLOSESIZE,'8pt', CAPTION,'Select a date', FIXX,ggPosX, FIXY,ggPosY); // Reset the position variables ggPosX = -1; ggPosY = -1; }}function show_calendar() { var p_item // Return Item. var p_month // 0-11 for Jan-Dec; 12 for All Months. var p_year // 4-digit year var p_format // Date format (YYYY-MM-DD, DD/MM/YYYY, ...) fontsize = 8; p_item = arguments[0]; if (arguments[1] == "" || arguments[1] == null || arguments[1] == '12') p_month = new String(gNow.getMonth()); else p_month = arguments[1]; if (arguments[2] == "" || arguments[2] == null) p_year = new String(gNow.getFullYear().toString()); else p_year = arguments[2]; if (arguments[3] == "" || arguments[3] == null) p_format = "YYYY-MM-DD"; else p_format = arguments[3]; if (OLns4) return overlib('Sorry, your browser does not support this feature. ' +'Manually enter<br>' + p_format, FGCOLOR,'#ffffcc', TEXTSIZE,2, STICKY, NOCLOSE, OFFSETX,-10, OFFSETY,-10, WIDTH,110, BASE,2); Build(p_item, p_month, p_year, p_format);}function show_yearly_calendar() { var p_item // Return Item. var p_year // 4-digit year var p_format // Date format (YYYY-MM-DD, DD/MM/YYYY, ...) p_item = arguments[0]; if (arguments[1] == "" || arguments[1] == null) p_year = new String(gNow.getFullYear().toString()); else p_year = arguments[1]; if (arguments[2] == "" || arguments[2] == null) p_format = "YYYY-MM-DD"; else p_format = arguments[2]; if (OLns4) return overlib('Sorry, your browser does not support this feature. ' +'Manually enter<br>' + p_format, FGCOLOR,'#ffffcc', TEXTSIZE,2, STICKY, NOCLOSE, OFFSETX,-10, OFFSETY,-10, WIDTH,110, BASE,2); Build(p_item, null, p_year, p_format);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -