亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? calendar-core.js

?? js日期插件
?? JS
?? 第 1 頁 / 共 5 頁
字號:
					      if (minutes < 0) {						 minutes += 60;						 --hours;					  	 if (hours < 0) hours += 24;						 new_date.setHours(hours);					      }					      new_date.setMinutes(minutes);					      if (!cal.getDateStatus(new_date, date.getFullYear(), date.getMonth(), date.getDate(), parseInt(hours, 10), parseInt(minutes, 10))) {						 hour = hours;						 minute = minutes;						 if (hour > 12) i = 1; else i = 0;						 cal.date.setHours(hour);						 cal.date.setMinutes(minute);						 cal.onSetTime();					      }					   } while ((hour != hours) || (minute != minutes));					}					// updates our new Date object that will be passed to the handler					new_date.setHours(hour);				}				// if hours were clicked				if (el.className.indexOf("hour", 0) != -1) {				   minute = date.getMinutes(); // minutes didn't change				   hour = (!cal.time24) ? ((pm) ? ((range[i] != 12) ? (parseInt(range[i], 10) + 12) : (12)) : ((range[i] != 12) ? (range[i]) : (0))) : (range[i]);  // new value of hours				   new_date.setHours(hour);				}				// if minutes were clicked				if (el.className.indexOf("minute", 0) != -1) {				   hour = date.getHours(); // hours didn't change				   minute = range[i]; // new value of minutes				   new_date.setMinutes(minute);				}			}			var status = false;			// if the handler is set, we pass new values and retreive result in "status" variable			if (cal.getDateStatus) {			   status = cal.getDateStatus(new_date, date.getFullYear(), date.getMonth(), date.getDate(), parseInt(hour, 10), parseInt(minute, 10));			}			if (!status) {			   el.firstChild.data = range[i];			}			//END OF ALLOWED TIME CHECK			cal.onUpdateTime();			return;		    case 201: // timepart, UP		    case 202: // timepart, DOWN			var cel = el.timePart;			//turns off time changing if timeInterval is set with special value			var date = cal.currentDate;			if ((cel.className.indexOf("minute", 0) != -1) && (cal.timeInterval > 30)) {break;}			var val = parseInt(cel.firstChild.data, 10);			var pm = (date.getHours() >= 12);			var range = cel._range;			for (var i = range.length; --i >= 0;)				if (val == range[i]) {					val = i;					break;				}			var step = cel._step;			if (el.navtype == 201) {				val = step*Math.floor(val/step);				val += step;				if (val >= range.length)					val = 0;			} else {				val = step*Math.ceil(val/step);				val -= step;				if (val < 0)					val = range.length-step;			}			//ALLOWED TIME CHECK			if (cal.getDateStatus) { //Current time is changing, check with the callback to see if it's in range of allowed times			   // Fills "minute" and "hour" variables with the time that user wants to set, to pass them to the dateStatusHandler.			   // As the script passes hours in 24 format, we need to convert inputed values if they are not in the needed format						   var minute = null; // minutes to be passed			   var hour = null; // hours to be passed			   // as we pass date element to the handler, we need to create new one and fill it with new minutes or hours (depending on what had changed)			   var new_date = new Date(date);			   // if hours were changed			   if (cel.className == "hour") {			      minute = date.getMinutes();			      hour = (!cal.time24) ? ((pm) ? ((range[val] != 12) ? (parseInt(range[val], 10) + 12) : (12)) : ((range[val] != 12) ? (range[val]) : (0))) : (range[val]);			      new_date.setHours(hour);			   }			   // if minutes were changed			   if (cel.className == "minute") {			      hour = date.getHours();			      minute = val;			      new_date.setMinutes(range[val]);			   }			}			var status = false;			// if the handler is set, we pass new values and retreive result in "status" variable			if (cal.getDateStatus) {			   status = cal.getDateStatus(new_date, date.getFullYear(), date.getMonth(), date.getDate(), parseInt(hour, 10), parseInt(minute, 10));			}   			if (!status) {			   cel.firstChild.data = range[val];			}			cal.onUpdateTime();			//END OF ALLOWED TIME CHECK			return;		    case 0:			// TODAY will bring us here			//fix for the today bug for the special dates			if (cal.getDateStatus && ((cal.getDateStatus(date, date.getFullYear(), date.getMonth(), date.getDate()) == true) || (cal.getDateStatus(date, date.getFullYear(), date.getMonth(), date.getDate()) == "disabled"))) {				// remember, "date" was previously set to new				// Date() if TODAY was clicked; thus, it				// contains today date.				return false;			}			break;		}		if (!date.equalsTo(cal.date)) {			if ((el.navtype >= -2 && el.navtype <=2) && (el.navtype != 0)) {				cal._init(cal.firstDayOfWeek, date, true);				return;			}			cal.setDate(date);			newdate = !(el.navtype && (el.navtype >= -2 && el.navtype <=2));		}	}	if (newdate) {		cal.callHandler();	}	if (closing) {		Zapatec.Utils.removeClass(el, "hilite");		cal.callCloseHandler();	}};// END: CALENDAR STATIC FUNCTIONS// BEGIN: CALENDAR OBJECT FUNCTIONS/** * This function creates the calendar HTML elements inside the given parent. * If _par is null than it creates a popup calendar inside the BODY element. * If _par is an element, be it BODY, then it creates a non-popup calendar * (still hidden). * * The function looks rather complicated, but what it does is quite simple. * The basic calendar elements will be created, that is, a containing DIV, a * TABLE that contains a headers (titles, navigation bar and day names bars), a * body containing up to 12 months, each has 6 rows with 7 or 8 cells (this depends on whether week * numbers are on or off) and a footer containing the status bar.  Appropriate * event handlers are assigned to all buttons or to the titles and status bar * (for drag'n'drop). * * This function also builds the time selector if the calendar is configured * so, and it also creates the elements required for combo boxes (years, * months, history). * * This function does not display day names or dates.  This is done in * Zapatec.Calendar.prototype._init().  Therefore, by separating these 2 * actions we can make date switching happen much faster because the _init * function will already have the elements in place (so we don't need to create * them again and again).  This was a major improvement which got in * the calendar v0.9.1. * * @param _par */Zapatec.Calendar.prototype.create = function (_par) {	var parent = null;	if (! _par) {		// default parent is the document body, in which case we create		// a popup calendar.		parent = window.document.getElementsByTagName("body")[0];		this.isPopup = true;		this.WCH = Zapatec.Utils.createWCH();	} else {		parent = _par;		this.isPopup = false;	}	this.currentDate = this.date = this.dateStr ? new Date(this.dateStr) : new Date();	var table = Zapatec.Utils.createElement("table");	this.table = table;	table.cellSpacing = 0;	table.cellPadding = 0;	Zapatec.Utils.createProperty(table, "calendar", this);	Zapatec.Utils.addEvent(table, "mousedown", Zapatec.Calendar.tableMouseDown);	var div = Zapatec.Utils.createElement("div");	this.element = div;	div.className = "calendar";	div.id = "zpCal" + this.id + "Container";	//FIX for Opera's bug with row highlighting	if (Zapatec.is_opera) {		table.style.width = (this.monthsInRow * ((this.weekNumbers) ? (8) : (7)) * 2 + 4.4 * this.monthsInRow) + "em";	}	if (this.isPopup) {		div.style.position = "absolute";		div.style.display = "none";	}	div.appendChild(table);	var cell = null;	var row = null;	var cal = this;	var hh = function (text, cs, navtype, buttonType) {		cell = Zapatec.Utils.createElement("td", row);		if (buttonType) {			cell.id = "zpCal" + cal.id + buttonType + "ButtonStatus";		}		cell.colSpan = cs;		cell.className = "button";		if (Math.abs(navtype) <= 2)			cell.className += " nav";		Zapatec.Calendar._add_evs(cell);		Zapatec.Utils.createProperty(cell, "calendar", cal);		cell.navtype = navtype;		if (text.substr(0, 1) != "&") {			cell.appendChild(document.createTextNode(text));		}		else {			// FIXME: dirty hack for entities			cell.innerHTML = text;		}		return cell;	};	var hd = function(par, colspan, buttonType) {		cell = Zapatec.Utils.createElement("td", par);		if (buttonType) {			cell.id = "zpCal" + cal.id + buttonType + "ButtonStatus";		}		cell.colSpan = colspan;		cell.className = "button";		cell.innerHTML = "<div>&nbsp</div>";		return cell;	};	//Creating all the controls on the top	var title_length = ((this.weekNumbers) ? (8) : (7)) * this.monthsInRow - 2;	var thead = Zapatec.Utils.createElement("thead", table);	if (this.numberMonths == 1) {		this.title = thead;	}	row = Zapatec.Utils.createElement("tr", thead);	if (this.helpButton) {		hh("?", 1, 400, "Help").ttip = Zapatec.Calendar.i18n("INFO");	} else {		hd(row, 1, "Help");	}	this.title = hh("&nbsp;", title_length, 300);	this.title.className = "title";	this.title.id = "zpCal" + this.id + "Title";	if (this.isPopup) {		if (!this.disableDrag) {			this.title.ttip = Zapatec.Calendar.i18n("DRAG_TO_MOVE");			this.title.style.cursor = "move";		}		if (this.closeButton) {			hh("&#x00d7;", 1, 200, "Close").ttip = Zapatec.Calendar.i18n("CLOSE");		} else {			hd(row, 1, "Close");		}	} else {		hd(row, 1, "Close");	}	row = Zapatec.Utils.createElement("tr", thead);	this._nav_py = hh("&#x00ab;", 1, -2, "PrevYear");	this._nav_py.ttip = Zapatec.Calendar.i18n("PREV_YEAR");	this._nav_pm = hh("&#x2039;", 1, -1, "PrevMonth");	this._nav_pm.ttip = Zapatec.Calendar.i18n("PREV_MONTH");	this._nav_now = hh(Zapatec.Calendar.i18n("TODAY"), title_length - 2, 0, "Today");	this._nav_now.ttip = Zapatec.Calendar.i18n("GO_TODAY");	this._nav_nm = hh("&#x203a;", 1, 1, "NextMonth");	this._nav_nm.ttip = Zapatec.Calendar.i18n("NEXT_MONTH");	this._nav_ny = hh("&#x00bb;", 1, 2, "NextYear");	this._nav_ny.ttip = Zapatec.Calendar.i18n("NEXT_YEAR");	//Here we calculate the number of rows for multimonth calendar	var rowsOfMonths = Math.floor(this.numberMonths / this.monthsInRow);	if (this.numberMonths % this.monthsInRow > 0) {		++rowsOfMonths;	}	//Every iteration of this cycle creates a row of months in the calendar	for (var l = 1; l <= rowsOfMonths; ++l) {		var thead = Zapatec.Utils.createElement("thead", table);		//Fix for the Operas bug, this is a workaround which makes Opera display THEAD elements as TBODY el.		//The problem is that Opera displays all the THEAD elements in the table first, and only then TBODY elements (an ugly look!).		if (Zapatec.is_opera) {thead.style.display = "table-row-group";}		if (this.numberMonths != 1) {			row = Zapatec.Utils.createElement("tr", thead);			var title_length = 5;			this.weekNumbers && ++title_length;			//creating the titles for the months			this.titles[l] = new Array();			for (var k = 1; (k <= this.monthsInRow) && ((l - 1) * this.monthsInRow + k <= this.numberMonths); ++k) {				hd(row, 1);				this.titles[l][k] = hh("&nbsp;", title_length, 300);				this.titles[l][k].className = "title";				this.titles[l][k].id = "zpCal" + this.id + "SubTitle" + ((l - 1) * this.monthsInRow + k);				hd(row, 1);			}		}	// day names		row = Zapatec.Utils.createElement("tr", thead);		row.className = "daynames";		for (k = 1; (k <= this.monthsInRow) && ((l - 1) * this.monthsInRow + k <= this.numberMonths); ++k) {			if (this.weekNumbers) {				cell = Zapatec.Utils.createElement("td", row);				cell.className = "name wn";				cell.appendChild(window.document.createTextNode(Zapatec.Calendar.i18n("WK")));				if (k > 1) {					Zapatec.Utils.addClass(cell, "month-left-border");				}				var cal_wk = Zapatec.Calendar.i18n("WK")					if (cal_wk == null) {						//if it's not defined in the language file, leave it blank						cal_wk = "";					}					}			//week day names cells			for (var i = 7; i > 0; --i) {				cell = Zapatec.Utils.createElement("td", row);				cell.appendChild(document.createTextNode("&nbsp;"));				cell.id = "zpCal" + this.id + "WeekDayButton" + (7 - i) + "Status";			}		}		this.firstdayname = row.childNodes[this.weekNumbers?1:0];		this.rowsOfDayNames[l] = this.firstdayname; 		this._displayWeekdays();		var tbody = Zapatec.Utils.createElement("tbody", table);		this.tbody[l] = tbody;				for (i = 6; i > 0; --i) {			//creating a row of days for all the months in the row			row = Zapatec.Utils.createElement("tr", tbody);			for (k = 1; (k <= this.monthsInRow) && ((l - 1) * this.monthsInRow + k <= this.numberMonths); ++k) {				if (this.weekNumbers) {					cell = Zapatec.Utils.createElement("td", row);					cell.id = "zpCal" + this.id + "WeekNumber" + (6 - i);					cell.appendChild(document.createTextNode("&nbsp;"));				}				for (var j = 7; j > 0; --j) {					cell = Zapatec.Utils.createElement("td", row);					cell.id = "zpCal" + this.id + "DateCell" + ((l - 1) * this.monthsInRow + k) + "-" + (6 - i) + "-" + (7 - j);					cell.appendChild(document.createTextNode("&nbsp;"));					Zapatec.Utils.createProperty(cell, "calendar", this);					Zapatec.Calendar._add_evs(cell);				}			}		}	}	var tfoot = Zapatec.Utils.createElement("tfoot", table);	if (this.showsTime) {		row = Zapatec.Utils.createElement("tr", tfoot);		row.className = "time";		//empty area for positioning the time controls under the control month		var emptyColspan;		if (this.monthsInRow != 1) {			cell = Zapatec.Utils.createElement("td", row);			emptyColspan = cell.colSpan = Math.ceil((((this.weekNumbers) ? 8 : 7) * (this.monthsInRow - 1)) / 2);			cell.className = "timetext";			cell.innerHTML = "&nbsp";		}								cell = Zapatec.Utils.createElement("td", row);		cell.className = "timetext";		cell.colSpan = this.weekNumbers ? 2 : 1;		cell.innerHTML = Zapatec.Calendar.i18n("TIME") || "&nbsp;";		(function() {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩国产精品自在自线| 成人免费视频一区| 中国av一区二区三区| 久久丝袜美腿综合| 久久综合九色综合欧美98| 精品福利一二区| 久久久夜色精品亚洲| 国产亚洲精品久| 中文字幕成人网| 日韩美女久久久| 亚洲一区二区三区自拍| 午夜精品一区在线观看| 免费一级欧美片在线观看| 美国十次了思思久久精品导航| 久久66热re国产| 国产精品亚洲一区二区三区在线 | 久久99久久久欧美国产| 性久久久久久久久| 男女男精品网站| 国产中文字幕一区| voyeur盗摄精品| 欧美日韩五月天| 精品乱码亚洲一区二区不卡| 国产精品视频免费看| 一区二区三区免费观看| 精品综合久久久久久8888| av一区二区三区黑人| 欧美日韩国产精品成人| 久久人人超碰精品| 亚洲免费毛片网站| 麻豆国产欧美一区二区三区| 暴力调教一区二区三区| 精品1区2区3区| 国产日韩精品一区二区三区| 亚洲国产精品一区二区www| 狠狠色2019综合网| 在线观看av一区二区| 久久精品一二三| 亚洲成人在线观看视频| 成人黄色免费短视频| 欧美一二三四在线| 亚洲日本免费电影| 狠狠色丁香九九婷婷综合五月| 色狠狠综合天天综合综合| 精品久久人人做人人爽| 亚洲国产精品久久人人爱蜜臀| 国产一区二三区好的| 欧美日韩精品电影| 亚洲欧美电影一区二区| 成人午夜私人影院| 精品国产乱码久久久久久1区2区 | 久久综合九色综合欧美98| 午夜久久久久久电影| 成人国产精品免费观看动漫| 欧美成人精品二区三区99精品| 亚洲黄色性网站| 国产成人午夜视频| 欧美本精品男人aⅴ天堂| 亚洲h在线观看| 在线这里只有精品| 亚洲视频小说图片| 99久久精品国产导航| 国产人伦精品一区二区| 国产一区二区三区黄视频| 91麻豆精品国产综合久久久久久| 亚洲欧美日韩国产手机在线| 国产精品一区二区三区网站| 日韩免费视频一区二区| 日本欧美加勒比视频| 欧美怡红院视频| 依依成人综合视频| 色伊人久久综合中文字幕| 亚洲精品国产第一综合99久久| 成人av综合在线| 亚洲日本电影在线| 色综合色综合色综合| 亚洲免费视频中文字幕| 91久久免费观看| 亚洲一区二区三区四区不卡| 欧美日韩成人一区| 免费在线看成人av| 精品久久久久av影院 | 亚洲欧美日韩国产综合在线| 91麻豆福利精品推荐| 亚洲乱码日产精品bd| 欧美日韩一区二区在线观看| 日韩高清一区在线| 精品999久久久| 不卡av免费在线观看| 亚洲精品中文字幕乱码三区| 在线免费观看日本欧美| 日本成人在线看| 国产亚洲一本大道中文在线| 成人免费视频一区二区| 亚洲一级二级三级在线免费观看| 欧美日韩国产综合一区二区| 六月丁香婷婷久久| 国产精品久久毛片a| 欧美日韩一级大片网址| 精品一区二区精品| 国产女人18毛片水真多成人如厕| 91麻豆免费观看| 热久久一区二区| 国产精品久久福利| 欧美女孩性生活视频| 国产福利一区二区三区视频在线| 亚洲精品视频在线看| 91精品国产色综合久久不卡电影| 丰满白嫩尤物一区二区| 亚洲v中文字幕| 国产日韩欧美综合在线| 欧美系列日韩一区| 国产精品99久久久久久宅男| 一区二区三区美女| 国产性天天综合网| 欧美午夜电影一区| 成人美女视频在线观看| 日本亚洲欧美天堂免费| 亚洲三级在线播放| 精品国产sm最大网站| 欧美日韩中文精品| 国产iv一区二区三区| 日日夜夜精品视频天天综合网| 中文成人av在线| 日韩一区二区不卡| 欧美日韩一二三| 91美女在线视频| 国产伦精一区二区三区| 手机精品视频在线观看| 亚洲免费在线看| 国产欧美一区二区三区鸳鸯浴| 91精品欧美综合在线观看最新| 99re66热这里只有精品3直播 | 一区二区三区日韩欧美| 久久精品一区二区三区不卡牛牛| 日韩三级在线免费观看| 欧美色网站导航| 91丝袜美腿高跟国产极品老师 | 美女一区二区三区| 亚洲国产美女搞黄色| 亚洲综合在线第一页| 国产精品入口麻豆原神| 久久精品视频在线看| 精品国内二区三区| 精品国产不卡一区二区三区| 精品人伦一区二区色婷婷| 3atv一区二区三区| 制服丝袜在线91| 欧美一区二区久久| 日韩一区二区三区在线视频| 日韩一区二区免费在线观看| 日韩免费看的电影| 欧美成人性战久久| 精品日韩一区二区三区| 国产午夜亚洲精品理论片色戒| 久久综合九色综合欧美亚洲| 国产网站一区二区| 国产亚洲成av人在线观看导航| 国产欧美一区二区精品性色| 国产亚洲一二三区| 亚洲欧美日韩中文播放| 亚洲电影一区二区三区| 亚洲成人一区二区在线观看| 日本三级亚洲精品| 久久99精品久久久久久动态图 | 日本一区二区三区免费乱视频| 久久久夜色精品亚洲| 国产精品成人一区二区三区夜夜夜| 国产精品免费丝袜| 亚洲妇熟xx妇色黄| 青青草成人在线观看| 国产露脸91国语对白| 91一区二区在线| 欧美午夜理伦三级在线观看| 欧美一区二区在线看| 久久精品夜色噜噜亚洲aⅴ| 中文字幕亚洲精品在线观看| 亚洲成av人在线观看| 精品综合久久久久久8888| 91在线精品秘密一区二区| 欧美日韩久久一区二区| 精品国精品自拍自在线| 自拍偷拍亚洲激情| 午夜精品视频一区| 国产成人在线免费| 欧美日韩小视频| 欧美国产一区在线| 日韩高清不卡一区| 国产91露脸合集magnet| 欧美在线播放高清精品| 国产丝袜在线精品| 日韩高清国产一区在线| av一二三不卡影片| 日韩视频免费观看高清在线视频| 中文字幕在线播放不卡一区| 欧美aⅴ一区二区三区视频| av亚洲精华国产精华精华| 欧美精品一区二区三区蜜臀| 亚洲美女免费视频| 成人午夜视频在线观看|