📄 calendar.js
字号:
}}}};YAHOO.widget.Calendar_Core.prototype._addRenderer = function (type, aDates, fnRender) {var add = [type, aDates, fnRender];this.renderStack.unshift(add);this._renderStack = this.renderStack.concat();};YAHOO.widget.Calendar_Core.prototype.addMonthRenderer = function (month, fnRender) {this._addRenderer(YAHOO.widget.Calendar_Core.MONTH, [month], fnRender);};YAHOO.widget.Calendar_Core.prototype.addWeekdayRenderer = function (weekday, fnRender) {this._addRenderer(YAHOO.widget.Calendar_Core.WEEKDAY, [weekday], fnRender);};YAHOO.widget.Calendar_Core.setCssClasses = function (element, aStyles) {element.className = "";var className = aStyles.join(" ");element.className = className;};YAHOO.widget.Calendar_Core.prototype.clearAllBodyCellStyles = function (style) {for (var c = 0; c < this.cells.length; ++c) {YAHOO.util.Dom.removeClass(this.cells[c], style);}};YAHOO.widget.Calendar_Core.prototype.setMonth = function (month) {this.pageDate.setMonth(month);};YAHOO.widget.Calendar_Core.prototype.setYear = function (year) {this.pageDate.setFullYear(year);};YAHOO.widget.Calendar_Core.prototype.getSelectedDates = function () {var returnDates = new Array();for (var d = 0; d < this.selectedDates.length; ++d) {var dateArray = this.selectedDates[d];var date = new Date(dateArray[0], dateArray[1] - 1, dateArray[2]);returnDates.push(date);}returnDates.sort();return returnDates;};YAHOO.widget.Calendar_Core._getBrowser = function () {var ua = navigator.userAgent.toLowerCase();if (ua.indexOf("opera") != -1) {return "opera";} else {if (ua.indexOf("msie") != -1) {return "ie";} else {if (ua.indexOf("safari") != -1) {return "safari";} else {if (ua.indexOf("gecko") != -1) {return "gecko";} else {return false;}}}}};YAHOO.widget.Calendar_Core.prototype.toString = function () {return "Calendar_Core " + this.id;};YAHOO.widget.Cal_Core = YAHOO.widget.Calendar_Core;YAHOO.widget.Calendar = function (id, containerId, monthyear, selected) {if (arguments.length > 0) {this.init(id, containerId, monthyear, selected);}};YAHOO.widget.Calendar.prototype = new YAHOO.widget.Calendar_Core();YAHOO.widget.Calendar.prototype.buildShell = function () {this.border = document.createElement("DIV");this.border.className = this.Style.CSS_CONTAINER;this.table = document.createElement("TABLE");this.table.cellSpacing = 0;YAHOO.widget.Calendar_Core.setCssClasses(this.table, [this.Style.CSS_CALENDAR]);this.border.id = this.id;this.buildShellHeader();this.buildShellBody();this.buildShellFooter();};YAHOO.widget.Calendar.prototype.renderShell = function () {this.border.appendChild(this.table);this.oDomContainer.appendChild(this.border);this.shellRendered = true;};YAHOO.widget.Calendar.prototype.renderHeader = function () {this.headerCell.innerHTML = "";var headerContainer = document.createElement("DIV");headerContainer.className = this.Style.CSS_HEADER;if (this.linkLeft) {YAHOO.util.Event.removeListener(this.linkLeft, "mousedown", this.previousMonth);}this.linkLeft = document.createElement("A");this.linkLeft.innerHTML = " ";YAHOO.util.Event.addListener(this.linkLeft, "mousedown", this.previousMonth, this, true);this.linkLeft.style.backgroundImage = "url(" + this.Options.NAV_ARROW_LEFT + ")";this.linkLeft.className = this.Style.CSS_NAV_LEFT;if (this.linkRight) {YAHOO.util.Event.removeListener(this.linkRight, "mousedown", this.nextMonth);}this.linkRight = document.createElement("A");this.linkRight.innerHTML = " ";YAHOO.util.Event.addListener(this.linkRight, "mousedown", this.nextMonth, this, true);this.linkRight.style.backgroundImage = "url(" + this.Options.NAV_ARROW_RIGHT + ")";this.linkRight.className = this.Style.CSS_NAV_RIGHT;headerContainer.appendChild(this.linkLeft);headerContainer.appendChild(document.createTextNode(this.buildMonthLabel()));headerContainer.appendChild(this.linkRight);this.headerCell.appendChild(headerContainer);};YAHOO.widget.Cal = YAHOO.widget.Calendar;YAHOO.widget.CalendarGroup = function (pageCount, id, containerId, monthyear, selected) {if (arguments.length > 0) {this.init(pageCount, id, containerId, monthyear, selected);}};YAHOO.widget.CalendarGroup.prototype.init = function (pageCount, id, containerId, monthyear, selected) {this.id = id;this.selectedDates = new Array();this.containerId = containerId;this.pageCount = pageCount;this.pages = new Array();for (var p = 0; p < pageCount; ++p) {var cal = this.constructChild(id + "_" + p, this.containerId + "_" + p, monthyear, selected);cal.parent = this;cal.index = p;cal.pageDate.setMonth(cal.pageDate.getMonth() + p);cal._pageDate = new Date(cal.pageDate.getFullYear(), cal.pageDate.getMonth(), cal.pageDate.getDate());this.pages.push(cal);}this.doNextMonth = function (e, calGroup) {calGroup.nextMonth();};this.doPreviousMonth = function (e, calGroup) {calGroup.previousMonth();};};YAHOO.widget.CalendarGroup.prototype.setChildFunction = function (fnName, fn) {for (var p = 0; p < this.pageCount; ++p) {this.pages[p][fnName] = fn;}};YAHOO.widget.CalendarGroup.prototype.callChildFunction = function (fnName, args) {for (var p = 0; p < this.pageCount; ++p) {var page = this.pages[p];if (page[fnName]) {var fn = page[fnName];fn.call(page, args);}}};YAHOO.widget.CalendarGroup.prototype.constructChild = function (id, containerId, monthyear, selected) {return new YAHOO.widget.Calendar_Core(id, containerId, monthyear, selected);};YAHOO.widget.CalendarGroup.prototype.setMonth = function (month) {for (var p = 0; p < this.pages.length; ++p) {var cal = this.pages[p];cal.setMonth(month + p);}};YAHOO.widget.CalendarGroup.prototype.setYear = function (year) {for (var p = 0; p < this.pages.length; ++p) {var cal = this.pages[p];if ((cal.pageDate.getMonth() + 1) == 1 && p > 0) {year += 1;}cal.setYear(year);}};YAHOO.widget.CalendarGroup.prototype.render = function () {for (var p = 0; p < this.pages.length; ++p) {var cal = this.pages[p];cal.render();}};YAHOO.widget.CalendarGroup.prototype.select = function (date) {var ret;for (var p = 0; p < this.pages.length; ++p) {var cal = this.pages[p];ret = cal.select(date);}return ret;};YAHOO.widget.CalendarGroup.prototype.selectCell = function (cellIndex) {var ret;for (var p = 0; p < this.pages.length; ++p) {var cal = this.pages[p];ret = cal.selectCell(cellIndex);}return ret;};YAHOO.widget.CalendarGroup.prototype.deselect = function (date) {var ret;for (var p = 0; p < this.pages.length; ++p) {var cal = this.pages[p];ret = cal.deselect(date);}return ret;};YAHOO.widget.CalendarGroup.prototype.deselectAll = function () {var ret;for (var p = 0; p < this.pages.length; ++p) {var cal = this.pages[p];ret = cal.deselectAll();}return ret;};YAHOO.widget.CalendarGroup.prototype.deselectCell = function (cellIndex) {for (var p = 0; p < this.pages.length; ++p) {var cal = this.pages[p];cal.deselectCell(cellIndex);}return this.getSelectedDates();};YAHOO.widget.CalendarGroup.prototype.reset = function () {for (var p = 0; p < this.pages.length; ++p) {var cal = this.pages[p];cal.reset();}};YAHOO.widget.CalendarGroup.prototype.clear = function () {for (var p = 0; p < this.pages.length; ++p) {var cal = this.pages[p];cal.clear();}};YAHOO.widget.CalendarGroup.prototype.nextMonth = function () {for (var p = 0; p < this.pages.length; ++p) {var cal = this.pages[p];cal.nextMonth();}};YAHOO.widget.CalendarGroup.prototype.previousMonth = function () {for (var p = this.pages.length - 1; p >= 0; --p) {var cal = this.pages[p];cal.previousMonth();}};YAHOO.widget.CalendarGroup.prototype.nextYear = function () {for (var p = 0; p < this.pages.length; ++p) {var cal = this.pages[p];cal.nextYear();}};YAHOO.widget.CalendarGroup.prototype.previousYear = function () {for (var p = 0; p < this.pages.length; ++p) {var cal = this.pages[p];cal.previousYear();}};YAHOO.widget.CalendarGroup.prototype.sync = function (caller) {var calendar;if (caller) {this.selectedDates = caller.selectedDates.concat();} else {var hash = new Object();var combinedDates = new Array();for (var p = 0; p < this.pages.length; ++p) {calendar = this.pages[p];var values = calendar.selectedDates;for (var v = 0; v < values.length; ++v) {var valueArray = values[v];hash[valueArray.toString()] = valueArray;}}for (var val in hash) {combinedDates[combinedDates.length] = hash[val];}this.selectedDates = combinedDates.concat();}for (p = 0; p < this.pages.length; ++p) {calendar = this.pages[p];if (!calendar.Options.MULTI_SELECT) {calendar.clearAllBodyCellStyles(calendar.Config.Style.CSS_CELL_SELECTED);}calendar.selectedDates = this.selectedDates.concat();}return this.getSelectedDates();};YAHOO.widget.CalendarGroup.prototype.getSelectedDates = function () {var returnDates = new Array();for (var d = 0; d < this.selectedDates.length; ++d) {var dateArray = this.selectedDates[d];var date = new Date(dateArray[0], dateArray[1] - 1, dateArray[2]);returnDates.push(date);}returnDates.sort();return returnDates;};YAHOO.widget.CalendarGroup.prototype.addRenderer = function (sDates, fnRender) {for (var p = 0; p < this.pages.length; ++p) {var cal = this.pages[p];cal.addRenderer(sDates, fnRender);}};YAHOO.widget.CalendarGroup.prototype.addMonthRenderer = function (month, fnRender) {for (var p = 0; p < this.pages.length; ++p) {var cal = this.pages[p];cal.addMonthRenderer(month, fnRender);}};YAHOO.widget.CalendarGroup.prototype.addWeekdayRenderer = function (weekday, fnRender) {for (var p = 0; p < this.pages.length; ++p) {var cal = this.pages[p];cal.addWeekdayRenderer(weekday, fnRender);}};YAHOO.widget.CalendarGroup.prototype.wireEvent = function (eventName, fn) {for (var p = 0; p < this.pages.length; ++p) {var cal = this.pages[p];cal[eventName] = fn;}};YAHOO.widget.CalendarGroup.prototype.toString = function () {return "CalendarGroup " + this.id;};YAHOO.widget.CalGrp = YAHOO.widget.CalendarGroup;YAHOO.widget.Calendar2up_Cal = function (id, containerId, monthyear, selected) {if (arguments.length > 0) {this.init(id, containerId, monthyear, selected);}};YAHOO.widget.Calendar2up_Cal.prototype = new YAHOO.widget.Calendar_Core();YAHOO.widget.Calendar2up_Cal.prototype.renderHeader = function () {this.headerCell.innerHTML = "";var headerContainer = document.createElement("DIV");headerContainer.className = this.Style.CSS_HEADER;if (this.index == 0) {if (this.linkLeft) {YAHOO.util.Event.removeListener(this.linkLeft, "mousedown", this.parent.doPreviousMonth);}this.linkLeft = document.createElement("A");this.linkLeft.innerHTML = " ";this.linkLeft.style.backgroundImage = "url(" + this.Options.NAV_ARROW_LEFT + ")";this.linkLeft.className = this.Style.CSS_NAV_LEFT;YAHOO.util.Event.addListener(this.linkLeft, "mousedown", this.parent.doPreviousMonth, this.parent);headerContainer.appendChild(this.linkLeft);}headerContainer.appendChild(document.createTextNode(this.buildMonthLabel()));if (this.index == 1) {if (this.linkRight) {YAHOO.util.Event.removeListener(this.linkRight, "mousedown", this.parent.doNextMonth);}this.linkRight = document.createElement("A");this.linkRight.innerHTML = " ";this.linkRight.style.backgroundImage = "url(" + this.Options.NAV_ARROW_RIGHT + ")";this.linkRight.className = this.Style.CSS_NAV_RIGHT;YAHOO.util.Event.addListener(this.linkRight, "mousedown", this.parent.doNextMonth, this.parent);headerContainer.appendChild(this.linkRight);}this.headerCell.appendChild(headerContainer);};YAHOO.widget.Calendar2up = function (id, containerId, monthyear, selected) {if (arguments.length > 0) {this.buildWrapper(containerId);this.init(2, id, containerId, monthyear, selected);}};YAHOO.widget.Calendar2up.prototype = new YAHOO.widget.CalendarGroup();YAHOO.widget.Calendar2up.CSS_2UPWRAPPER = "yui-cal2upwrapper";YAHOO.widget.Calendar2up.CSS_CONTAINER = "yui-calcontainer";YAHOO.widget.Calendar2up.CSS_2UPCONTAINER = "cal2up";YAHOO.widget.Calendar2up.CSS_2UPTITLE = "title";YAHOO.widget.Calendar2up.CSS_2UPCLOSE = "close-icon";YAHOO.widget.Calendar2up.prototype.constructChild = function (id, containerId, monthyear, selected) {var cal = new YAHOO.widget.Calendar2up_Cal(id, containerId, monthyear, selected);return cal;};YAHOO.widget.Calendar2up.prototype.buildWrapper = function (containerId) {var outerContainer = document.getElementById(containerId);outerContainer.className = YAHOO.widget.Calendar2up.CSS_2UPWRAPPER;var innerContainer = document.createElement("DIV");innerContainer.className = YAHOO.widget.Calendar2up.CSS_CONTAINER;innerContainer.id = containerId + "_inner";var cal1Container = document.createElement("DIV");cal1Container.id = containerId + "_0";cal1Container.className = YAHOO.widget.Calendar2up.CSS_2UPCONTAINER;cal1Container.style.marginRight = "10px";var cal2Container = document.createElement("DIV");cal2Container.id = containerId + "_1";cal2Container.className = YAHOO.widget.Calendar2up.CSS_2UPCONTAINER;outerContainer.appendChild(innerContainer);innerContainer.appendChild(cal1Container);innerContainer.appendChild(cal2Container);this.innerContainer = innerContainer;this.outerContainer = outerContainer;};YAHOO.widget.Calendar2up.prototype.render = function () {this.renderHeader();YAHOO.widget.CalendarGroup.prototype.render.call(this);this.renderFooter();};YAHOO.widget.Calendar2up.prototype.renderHeader = function () {if (!this.title) {this.title = "";}if (!this.titleDiv) {this.titleDiv = document.createElement("DIV");if (this.title == "") {this.titleDiv.style.display = "none";}}this.titleDiv.className = YAHOO.widget.Calendar2up.CSS_2UPTITLE;this.titleDiv.innerHTML = this.title;if (this.outerContainer.style.position == "absolute") {var linkClose = document.createElement("A");linkClose.href = "javascript:void(null)";YAHOO.util.Event.addListener(linkClose, "click", this.hide, this);var imgClose = document.createElement("IMG");imgClose.src = YAHOO.widget.Calendar_Core.IMG_ROOT + "us/my/bn/x_d.gif";imgClose.className = YAHOO.widget.Calendar2up.CSS_2UPCLOSE;linkClose.appendChild(imgClose);this.linkClose = linkClose;this.titleDiv.appendChild(linkClose);}this.innerContainer.insertBefore(this.titleDiv, this.innerContainer.firstChild);};YAHOO.widget.Calendar2up.prototype.hide = function (e, cal) {if (!cal) {cal = this;}cal.outerContainer.style.display = "none";};YAHOO.widget.Calendar2up.prototype.renderFooter = function () {};YAHOO.widget.Cal2up = YAHOO.widget.Calendar2up;});
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -