⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 datepicker.js

📁 struts hibernet spring
💻 JS
📖 第 1 页 / 共 2 页
字号:
				if(dojo.html.hasClass(currentCalendarNode,this.classNames.selectedDate)){					this.selectedNode = currentCalendarNode;				}				nextDate = dojo.date.add(nextDate, dojo.date.dateParts.DAY, 1);			}			this.lastDay = dojo.date.add(nextDate,dojo.date.dateParts.DAY,-1);			this._initControls();		},		_initControls: function(){			var d = this.firstDay;			var d2 = this.lastDay;			var decWeek, incWeek, decMonth, incMonth, decYear, incYear;			decWeek = incWeek = decMonth = incMonth = decYear = incYear = !this.staticDisplay;			with(dojo.date.dateParts){				var add = dojo.date.add;				if(decWeek && add(d,DAY,(-1*(this._getAdjustedDay(d)+1)))<this.startDate){					decWeek = decMonth = decYear = false;				}				if(incWeek && d2>this.endDate){					incWeek = incMonth = incYear = false;				}				if(decMonth && add(d,DAY,-1)<this.startDate){					decMonth = decYear = false;				}				if(incMonth && add(d2,DAY,1)>this.endDate){					incMonth = incYear = false;				}				if(decYear && add(d2,YEAR,-1)<this.startDate){					decYear = false;				}				if(incYear && add(d,YEAR,1)>this.endDate){					incYear = false;				}			}			function enableControl(node, enabled){				dojo.html.setVisibility(node, enabled ? '' : 'hidden');			}			enableControl(this.decreaseWeekNode,decWeek);			enableControl(this.increaseWeekNode,incWeek);			enableControl(this.decreaseMonthNode,decMonth);			enableControl(this.increaseMonthNode,incMonth);			enableControl(this.previousYearLabelNode,decYear);			enableControl(this.nextYearLabelNode,incYear);		},				_incrementWeek: function(evt) {			var d = new Date(this.firstDay);			switch(evt.target) {				case this.increaseWeekNode.getElementsByTagName("img").item(0): 				case this.increaseWeekNode:					var tmpDate = dojo.date.add(d, dojo.date.dateParts.WEEK, 1);					if(tmpDate < this.endDate){						d = dojo.date.add(d, dojo.date.dateParts.WEEK, 1);					}					break;				case this.decreaseWeekNode.getElementsByTagName("img").item(0):				case this.decreaseWeekNode:					if(d >= this.startDate){						d = dojo.date.add(d, dojo.date.dateParts.WEEK, -1);					}					break;			}			this._preInitUI(d,true,true);		},			_incrementMonth: function(evt) {			var d = new Date(this.curMonth);			var tmpDate = new Date(this.firstDay);			switch(evt.currentTarget) {				case this.increaseMonthNode.getElementsByTagName("img").item(0):				case this.increaseMonthNode:					tmpDate = dojo.date.add(tmpDate, dojo.date.dateParts.DAY, this.displayWeeks*7);					if(tmpDate < this.endDate){						d = dojo.date.add(d, dojo.date.dateParts.MONTH, 1);					}else{						var revertToEndDate = true;					}					break;				case this.decreaseMonthNode.getElementsByTagName("img").item(0):				case this.decreaseMonthNode:					if(tmpDate > this.startDate){						d = dojo.date.add(d, dojo.date.dateParts.MONTH, -1);					}else{						var revertToStartDate = true;					}					break;			}			if(revertToStartDate){				d = new Date(this.startDate);			}else if(revertToEndDate){				d = new Date(this.endDate);			}			this._preInitUI(d,false,true);		},			_incrementYear: function(evt) {			var year = this.curMonth.getFullYear();			var tmpDate = new Date(this.firstDay);			switch(evt.target) {				case this.nextYearLabelNode:					tmpDate = dojo.date.add(tmpDate, dojo.date.dateParts.YEAR, 1);					if(tmpDate<this.endDate){						year++;					}else{						var revertToEndDate = true;					}					break;				case this.previousYearLabelNode:					tmpDate = dojo.date.add(tmpDate, dojo.date.dateParts.YEAR, -1);					if(tmpDate>this.startDate){						year--;					}else{						var revertToStartDate = true;					}					break;			}			var d;			if(revertToStartDate){				d = new Date(this.startDate);			}else if(revertToEndDate){				d = new Date(this.endDate);			}else{				d = new Date(year, this.curMonth.getMonth(), 1);			}			this._preInitUI(d,false,true);		},			onIncrementWeek: function(/*Event*/evt) {			// summary: handler for increment week event			evt.stopPropagation();			if(!this.staticDisplay){				this._incrementWeek(evt);			}		},			onIncrementMonth: function(/*Event*/evt) {			// summary: handler for increment month event			evt.stopPropagation();			if(!this.staticDisplay){				this._incrementMonth(evt);			}		},				onIncrementYear: function(/*Event*/evt) {			// summary: handler for increment year event			evt.stopPropagation();			if(!this.staticDisplay){				this._incrementYear(evt);			}		},			_setMonthLabel: function(monthIndex) {			this.monthLabelNode.innerHTML = dojo.date.getNames('months', 'wide', 'standAlone', this.lang)[monthIndex];		},				_setYearLabels: function(year) {			var y = year - 1;			var that = this;			function f(n){				that[n+"YearLabelNode"].innerHTML =					dojo.date.format(new Date(y++, 0), {formatLength:'yearOnly', locale:that.lang});			}			f("previous");			f("current");			f("next");		},				_getDateClassName: function(date, monthState) {			var currentClassName = this.classNames[monthState];			//we use Number comparisons because 2 dateObjects never seem to equal each other otherwise			if ((!this.selectedIsUsed && this.value) && (Number(date) == Number(this.value))) {				currentClassName = this.classNames.selectedDate + " " + currentClassName;				this.selectedIsUsed = true;			}			if((!this.currentIsUsed) && (Number(date) == Number(this.today))) {				currentClassName = currentClassName + " "  + this.classNames.currentDate;				this.currentIsUsed = true;			}			return currentClassName;		},			onClick: function(/*Event*/evt) {			//summary: the click event handler			dojo.event.browser.stopEvent(evt);		},		_handleUiClick: function(/*Event*/evt) {			var eventTarget = evt.target;			if(eventTarget.nodeType != dojo.dom.ELEMENT_NODE){eventTarget = eventTarget.parentNode;}			dojo.event.browser.stopEvent(evt);			this.selectedIsUsed = this.todayIsUsed = false;			var month = this.curMonth.getMonth();			var year = this.curMonth.getFullYear();			if(dojo.html.hasClass(eventTarget, this.classNames["disabledPrevious"])||dojo.html.hasClass(eventTarget, this.classNames["disabledCurrent"])||dojo.html.hasClass(eventTarget, this.classNames["disabledNext"])){				return; //this date is disabled... ignore it			}else if (dojo.html.hasClass(eventTarget, this.classNames["next"])) {				month = ++month % 12;				if(month===0){++year;}			} else if (dojo.html.hasClass(eventTarget, this.classNames["previous"])) {				month = --month % 12;				if(month==11){--year;}			}			this.clickedNode = eventTarget;			this.setDate(new Date(year, month, eventTarget.innerHTML));		},				onValueChanged: function(/*Date*/date) {			//summary: the set date event handler		},				_isDisabledDate: function(dateObj){			if(dateObj<this.startDate||dateObj>this.endDate){				return true;			}			return this.isDisabledDate(dateObj, this.lang);		},		isDisabledDate: function(/*Date*/dateObj, /*String?*/locale){		// summary:		//	May be overridden to disable certain dates in the calendar e.g. isDisabledDate=dojo.date.isWeekend			return false; // Boolean		},		_initFirstDay: function(/*Date*/dateObj, /*Boolean*/adj){			//adj: false for first day of month, true for first day of week adjusted by startOfWeek			var d = new Date(dateObj);			if(!adj){d.setDate(1);}			d.setDate(d.getDate()-this._getAdjustedDay(d,this.weekStartsOn));			d.setHours(0,0,0,0);			return d; // Date		},		_getAdjustedDay: function(/*Date*/dateObj){			//summary: used to adjust date.getDay() values to the new values based on the current first day of the week value			var days = [0,1,2,3,4,5,6];			if(this.weekStartsOn>0){				for(var i=0;i<this.weekStartsOn;i++){					days.unshift(days.pop());				}			}			return days[dateObj.getDay()]; // Number: 0..6 where 0=Sunday		}	});

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -