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

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

?? calendar.js

?? java web網絡編程示例,原代碼資源
?? JS
?? 第 1 頁 / 共 4 頁
字號:
/*  Copyright Mihai Bazon, 2002-2005  |  www.bazon.net/mishoo * ----------------------------------------------------------- * * The DHTML Calendar, version 1.0 "It is happening again" * * Details and latest version at: * www.dynarch.com/projects/calendar * * This script is developed by Dynarch.com.  Visit us at www.dynarch.com. * * This script is distributed under the GNU Lesser General Public License. * Read the entire license text here: http://www.gnu.org/licenses/lgpl.html */// $Id: calendar.js,v 1.51 2005/03/07 16:44:31 mishoo Exp $/** The Calendar object constructor. */Calendar = function (firstDayOfWeek, dateStr, onSelected, onClose) {	// member variables	this.activeDiv = null;	this.currentDateEl = null;	this.getDateStatus = null;	this.getDateToolTip = null;	this.getDateText = null;	this.timeout = null;	this.onSelected = onSelected || null;	this.onClose = onClose || null;	this.dragging = false;	this.hidden = false;	this.minYear = 1970;	this.maxYear = 2050;	this.dateFormat = Calendar._TT["DEF_DATE_FORMAT"];	this.ttDateFormat = Calendar._TT["TT_DATE_FORMAT"];	this.isPopup = true;	this.weekNumbers = true;	this.firstDayOfWeek = typeof firstDayOfWeek == "number" ? firstDayOfWeek : Calendar._FD; // 0 for Sunday, 1 for Monday, etc.	this.showsOtherMonths = false;	this.dateStr = dateStr;	this.ar_days = null;	this.showsTime = false;	this.time24 = true;	this.yearStep = 2;	this.hiliteToday = true;	this.multiple = null;	// HTML elements	this.table = null;	this.element = null;	this.tbody = null;	this.firstdayname = null;	// Combo boxes	this.monthsCombo = null;	this.yearsCombo = null;	this.hilitedMonth = null;	this.activeMonth = null;	this.hilitedYear = null;	this.activeYear = null;	// Information	this.dateClicked = false;	// one-time initializations	if (typeof Calendar._SDN == "undefined") {		// table of short day names		if (typeof Calendar._SDN_len == "undefined")			Calendar._SDN_len = 3;		var ar = new Array();		for (var i = 8; i > 0;) {			ar[--i] = Calendar._DN[i].substr(0, Calendar._SDN_len);		}		Calendar._SDN = ar;		// table of short month names		if (typeof Calendar._SMN_len == "undefined")			Calendar._SMN_len = 3;		ar = new Array();		for (var i = 12; i > 0;) {			ar[--i] = Calendar._MN[i].substr(0, Calendar._SMN_len);		}		Calendar._SMN = ar;	}};// ** constants/// "static", needed for event handlers.Calendar._C = null;/// detect a special case of "web browser"Calendar.is_ie = ( /msie/i.test(navigator.userAgent) &&		   !/opera/i.test(navigator.userAgent) );Calendar.is_ie5 = ( Calendar.is_ie && /msie 5\.0/i.test(navigator.userAgent) );/// detect Opera browserCalendar.is_opera = /opera/i.test(navigator.userAgent);/// detect KHTML-based browsersCalendar.is_khtml = /Konqueror|Safari|KHTML/i.test(navigator.userAgent);// BEGIN: UTILITY FUNCTIONS; beware that these might be moved into a separate//        library, at some point.Calendar.getAbsolutePos = function(el) {	var SL = 0, ST = 0;	var is_div = /^div$/i.test(el.tagName);	if (is_div && el.scrollLeft)		SL = el.scrollLeft;	if (is_div && el.scrollTop)		ST = el.scrollTop;	var r = { x: el.offsetLeft - SL, y: el.offsetTop - ST };	if (el.offsetParent) {		var tmp = this.getAbsolutePos(el.offsetParent);		r.x += tmp.x;		r.y += tmp.y;	}	return r;};Calendar.isRelated = function (el, evt) {	var related = evt.relatedTarget;	if (!related) {		var type = evt.type;		if (type == "mouseover") {			related = evt.fromElement;		} else if (type == "mouseout") {			related = evt.toElement;		}	}	while (related) {		if (related == el) {			return true;		}		related = related.parentNode;	}	return false;};Calendar.removeClass = function(el, className) {	if (!(el && el.className)) {		return;	}	var cls = el.className.split(" ");	var ar = new Array();	for (var i = cls.length; i > 0;) {		if (cls[--i] != className) {			ar[ar.length] = cls[i];		}	}	el.className = ar.join(" ");};Calendar.addClass = function(el, className) {	Calendar.removeClass(el, className);	el.className += " " + className;};// FIXME: the following 2 functions totally suck, are useless and should be replaced immediately.Calendar.getElement = function(ev) {	var f = Calendar.is_ie ? window.event.srcElement : ev.currentTarget;	while (f.nodeType != 1 || /^div$/i.test(f.tagName))		f = f.parentNode;	return f;};Calendar.getTargetElement = function(ev) {	var f = Calendar.is_ie ? window.event.srcElement : ev.target;	while (f.nodeType != 1)		f = f.parentNode;	return f;};Calendar.stopEvent = function(ev) {	ev || (ev = window.event);	if (Calendar.is_ie) {		ev.cancelBubble = true;		ev.returnValue = false;	} else {		ev.preventDefault();		ev.stopPropagation();	}	return false;};Calendar.addEvent = function(el, evname, func) {	if (el.attachEvent) { // IE		el.attachEvent("on" + evname, func);	} else if (el.addEventListener) { // Gecko / W3C		el.addEventListener(evname, func, true);	} else {		el["on" + evname] = func;	}};Calendar.removeEvent = function(el, evname, func) {	if (el.detachEvent) { // IE		el.detachEvent("on" + evname, func);	} else if (el.removeEventListener) { // Gecko / W3C		el.removeEventListener(evname, func, true);	} else {		el["on" + evname] = null;	}};Calendar.createElement = function(type, parent) {	var el = null;	if (document.createElementNS) {		// use the XHTML namespace; IE won't normally get here unless		// _they_ "fix" the DOM2 implementation.		el = document.createElementNS("http://www.w3.org/1999/xhtml", type);	} else {		el = document.createElement(type);	}	if (typeof parent != "undefined") {		parent.appendChild(el);	}	return el;};// END: UTILITY FUNCTIONS// BEGIN: CALENDAR STATIC FUNCTIONS/** Internal -- adds a set of events to make some element behave like a button. */Calendar._add_evs = function(el) {	with (Calendar) {		addEvent(el, "mouseover", dayMouseOver);		addEvent(el, "mousedown", dayMouseDown);		addEvent(el, "mouseout", dayMouseOut);		if (is_ie) {			addEvent(el, "dblclick", dayMouseDblClick);			el.setAttribute("unselectable", true);		}	}};Calendar.findMonth = function(el) {	if (typeof el.month != "undefined") {		return el;	} else if (typeof el.parentNode.month != "undefined") {		return el.parentNode;	}	return null;};Calendar.findYear = function(el) {	if (typeof el.year != "undefined") {		return el;	} else if (typeof el.parentNode.year != "undefined") {		return el.parentNode;	}	return null;};Calendar.showMonthsCombo = function () {	var cal = Calendar._C;	if (!cal) {		return false;	}	var cal = cal;	var cd = cal.activeDiv;	var mc = cal.monthsCombo;	if (cal.hilitedMonth) {		Calendar.removeClass(cal.hilitedMonth, "hilite");	}	if (cal.activeMonth) {		Calendar.removeClass(cal.activeMonth, "active");	}	var mon = cal.monthsCombo.getElementsByTagName("div")[cal.date.getMonth()];	Calendar.addClass(mon, "active");	cal.activeMonth = mon;	var s = mc.style;	s.display = "block";	if (cd.navtype < 0)		s.left = cd.offsetLeft + "px";	else {		var mcw = mc.offsetWidth;		if (typeof mcw == "undefined")			// Konqueror brain-dead techniques			mcw = 50;		s.left = (cd.offsetLeft + cd.offsetWidth - mcw) + "px";	}	s.top = (cd.offsetTop + cd.offsetHeight) + "px";};Calendar.showYearsCombo = function (fwd) {	var cal = Calendar._C;	if (!cal) {		return false;	}	var cal = cal;	var cd = cal.activeDiv;	var yc = cal.yearsCombo;	if (cal.hilitedYear) {		Calendar.removeClass(cal.hilitedYear, "hilite");	}	if (cal.activeYear) {		Calendar.removeClass(cal.activeYear, "active");	}	cal.activeYear = null;	var Y = cal.date.getFullYear() + (fwd ? 1 : -1);	var yr = yc.firstChild;	var show = false;	for (var i = 12; i > 0; --i) {		if (Y >= cal.minYear && Y <= cal.maxYear) {			yr.innerHTML = Y;			yr.year = Y;			yr.style.display = "block";			show = true;		} else {			yr.style.display = "none";		}		yr = yr.nextSibling;		Y += fwd ? cal.yearStep : -cal.yearStep;	}	if (show) {		var s = yc.style;		s.display = "block";		if (cd.navtype < 0)			s.left = cd.offsetLeft + "px";		else {			var ycw = yc.offsetWidth;			if (typeof ycw == "undefined")				// Konqueror brain-dead techniques				ycw = 50;			s.left = (cd.offsetLeft + cd.offsetWidth - ycw) + "px";		}		s.top = (cd.offsetTop + cd.offsetHeight) + "px";	}};// event handlersCalendar.tableMouseUp = function(ev) {	var cal = Calendar._C;	if (!cal) {		return false;	}	if (cal.timeout) {		clearTimeout(cal.timeout);	}	var el = cal.activeDiv;	if (!el) {		return false;	}	var target = Calendar.getTargetElement(ev);	ev || (ev = window.event);	Calendar.removeClass(el, "active");	if (target == el || target.parentNode == el) {		Calendar.cellClick(el, ev);	}	var mon = Calendar.findMonth(target);	var date = null;	if (mon) {		date = new Date(cal.date);		if (mon.month != date.getMonth()) {			date.setMonth(mon.month);			cal.setDate(date);			cal.dateClicked = false;			cal.callHandler();		}	} else {		var year = Calendar.findYear(target);		if (year) {			date = new Date(cal.date);			if (year.year != date.getFullYear()) {				date.setFullYear(year.year);				cal.setDate(date);				cal.dateClicked = false;				cal.callHandler();			}		}	}	with (Calendar) {		removeEvent(document, "mouseup", tableMouseUp);		removeEvent(document, "mouseover", tableMouseOver);		removeEvent(document, "mousemove", tableMouseOver);		cal._hideCombos();		_C = null;		return stopEvent(ev);	}};Calendar.tableMouseOver = function (ev) {	var cal = Calendar._C;	if (!cal) {		return;	}	var el = cal.activeDiv;	var target = Calendar.getTargetElement(ev);	if (target == el || target.parentNode == el) {		Calendar.addClass(el, "hilite active");		Calendar.addClass(el.parentNode, "rowhilite");	} else {		if (typeof el.navtype == "undefined" || (el.navtype != 50 && (el.navtype == 0 || Math.abs(el.navtype) > 2)))			Calendar.removeClass(el, "active");		Calendar.removeClass(el, "hilite");		Calendar.removeClass(el.parentNode, "rowhilite");	}	ev || (ev = window.event);	if (el.navtype == 50 && target != el) {		var pos = Calendar.getAbsolutePos(el);		var w = el.offsetWidth;		var x = ev.clientX;		var dx;		var decrease = true;		if (x > pos.x + w) {			dx = x - pos.x - w;			decrease = false;		} else			dx = pos.x - x;		if (dx < 0) dx = 0;		var range = el._range;		var current = el._current;		var count = Math.floor(dx / 10) % range.length;		for (var i = range.length; --i >= 0;)			if (range[i] == current)				break;		while (count-- > 0)			if (decrease) {				if (--i < 0)					i = range.length - 1;			} else if ( ++i >= range.length )				i = 0;		var newval = range[i];		el.innerHTML = newval;		cal.onUpdateTime();	}	var mon = Calendar.findMonth(target);	if (mon) {		if (mon.month != cal.date.getMonth()) {			if (cal.hilitedMonth) {				Calendar.removeClass(cal.hilitedMonth, "hilite");			}			Calendar.addClass(mon, "hilite");			cal.hilitedMonth = mon;		} else if (cal.hilitedMonth) {			Calendar.removeClass(cal.hilitedMonth, "hilite");		}	} else {		if (cal.hilitedMonth) {			Calendar.removeClass(cal.hilitedMonth, "hilite");		}		var year = Calendar.findYear(target);		if (year) {			if (year.year != cal.date.getFullYear()) {				if (cal.hilitedYear) {					Calendar.removeClass(cal.hilitedYear, "hilite");				}				Calendar.addClass(year, "hilite");				cal.hilitedYear = year;			} else if (cal.hilitedYear) {				Calendar.removeClass(cal.hilitedYear, "hilite");

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲午夜激情网站| 久久男人中文字幕资源站| 樱桃视频在线观看一区| 色婷婷综合久久久久中文| 亚洲国产成人高清精品| 555夜色666亚洲国产免| 国产一区久久久| 国产精品色哟哟| 一本一道波多野结衣一区二区| 亚洲精品国产品国语在线app| 欧美午夜精品免费| 日本一道高清亚洲日美韩| 久久人人超碰精品| 成人美女在线观看| 亚洲综合久久av| 日韩亚洲欧美在线观看| 国产成人精品免费看| 综合中文字幕亚洲| 欧美久久久久久久久久| 国产精品系列在线播放| 亚洲欧美一区二区三区国产精品 | 色婷婷精品久久二区二区蜜臂av| 一区二区三区在线不卡| 日韩欧美高清dvd碟片| 成人综合在线观看| 五月婷婷综合在线| 国产精品色哟哟网站| 欧美日韩中字一区| 国产麻豆精品在线观看| 亚洲电影视频在线| 国产亚洲精品资源在线26u| 欧美性生活一区| 国产高清精品在线| 天堂影院一区二区| 国产精品久久久久久久久久久免费看 | 国产精品免费人成网站| 欧美日韩亚洲综合一区二区三区| 国产成人午夜视频| 日韩国产在线观看一区| 国产精品久久久一本精品 | 蜜臀久久99精品久久久久宅男 | 亚洲一区在线观看免费观看电影高清 | 亚洲国产精品成人综合色在线婷婷| 色哟哟国产精品| 精品写真视频在线观看| 亚洲成人先锋电影| 中文字幕在线视频一区| 欧美xxxxx裸体时装秀| 91看片淫黄大片一级在线观看| 久久丁香综合五月国产三级网站| 一区二区三区精品在线| 国产精品美女久久福利网站| 4438x成人网最大色成网站| 97se亚洲国产综合在线| 国产成都精品91一区二区三| 奇米精品一区二区三区在线观看一 | 国产精品123| 日韩av中文字幕一区二区| 亚洲欧美日韩在线| 欧美国产日韩亚洲一区| 欧美精品一区二区三区蜜桃视频 | 中文字幕在线播放不卡一区| 日韩视频在线一区二区| 欧美精品在线观看一区二区| 91精品91久久久中77777| 懂色中文一区二区在线播放| 国产在线精品免费av| 日韩精品高清不卡| 午夜欧美2019年伦理| 亚洲制服丝袜av| 亚洲图片欧美综合| 洋洋av久久久久久久一区| 一区二区中文字幕在线| 中文一区在线播放| 国产精品家庭影院| 中文字幕制服丝袜一区二区三区| 国产欧美一区二区三区在线老狼| 久久久久久毛片| 久久美女高清视频| 国产亚洲女人久久久久毛片| 国产亚洲美州欧州综合国| 国产日韩综合av| 国产精品丝袜91| 国产精品你懂的在线| 中文字幕在线播放不卡一区| 国产精品女同互慰在线看| 国产精品初高中害羞小美女文| 国产精品女人毛片| 亚洲欧美激情视频在线观看一区二区三区 | 欧美视频在线一区| 欧美少妇性性性| 欧美午夜精品免费| 欧美精品免费视频| 日韩美女一区二区三区| 久久免费视频色| 中文字幕中文字幕在线一区 | 欧美探花视频资源| 日韩女优av电影| 国产视频在线观看一区二区三区| 国产欧美精品在线观看| 国产精品福利一区| 亚洲午夜久久久久久久久电影院 | 国产精品小仙女| 91网站最新地址| 欧美日韩成人一区| 日韩三级免费观看| 国产精品久久毛片av大全日韩| 亚洲主播在线播放| 麻豆精品久久久| 99麻豆久久久国产精品免费| 欧美中文字幕一区二区三区| 日韩欧美第一区| 亚洲视频网在线直播| 日韩av一二三| 成人精品高清在线| 欧美精品三级日韩久久| 日本一区二区三区高清不卡| 专区另类欧美日韩| 久久国产视频网| 色伊人久久综合中文字幕| 日韩久久久久久| 国产精品久久久久aaaa| 日韩精品久久久久久| www.亚洲免费av| 欧美妇女性影城| 欧美国产亚洲另类动漫| 日本三级亚洲精品| 91美女福利视频| 久久午夜国产精品| 午夜久久久久久久久久一区二区| 国产mv日韩mv欧美| 91麻豆精品国产91久久久 | 免费在线观看视频一区| 高清av一区二区| 欧美精选一区二区| 亚洲视频电影在线| 国产精品亚洲第一区在线暖暖韩国| 欧美伊人精品成人久久综合97 | 精品国产污污免费网站入口 | 制服丝袜中文字幕亚洲| 国产精品国产自产拍高清av王其 | 国产激情一区二区三区| 678五月天丁香亚洲综合网| 亚洲美女一区二区三区| 国产精品一区二区久久精品爱涩 | 国产成人午夜99999| 欧美日本国产一区| 一区二区在线观看av| 岛国精品在线观看| 精品久久久影院| 蜜臀av一级做a爰片久久| 日本乱人伦一区| 国产精品丝袜在线| 国产aⅴ综合色| 精品国精品自拍自在线| 免费高清视频精品| 欧美又粗又大又爽| 亚洲欧洲制服丝袜| 91论坛在线播放| 欧美国产一区二区| 成人免费视频一区二区| 欧美激情在线免费观看| 国产一区中文字幕| 国产午夜精品理论片a级大结局| 久久99精品国产91久久来源| 日韩色视频在线观看| 日本欧美韩国一区三区| 欧美一区二区视频在线观看| 日日欢夜夜爽一区| 欧美美女一区二区三区| 婷婷开心激情综合| 欧美日韩国产高清一区| 视频一区视频二区在线观看| 欧美日韩欧美一区二区| 午夜视频在线观看一区二区三区| 欧洲精品视频在线观看| 亚洲成人精品一区二区| 欧美日韩成人一区| 美女诱惑一区二区| 久久一夜天堂av一区二区三区| 极品销魂美女一区二区三区| 2019国产精品| 波波电影院一区二区三区| 亚洲乱码一区二区三区在线观看| 91免费看`日韩一区二区| 亚洲制服欧美中文字幕中文字幕| 欧美午夜片在线看| 开心九九激情九九欧美日韩精美视频电影 | 黄一区二区三区| 久久久一区二区| 97久久精品人人做人人爽50路| 亚洲精品中文在线| 欧美日韩在线直播| 理论电影国产精品| 国产精品区一区二区三区| 色婷婷久久综合| 欧美aaaaa成人免费观看视频| 久久只精品国产| 一本色道**综合亚洲精品蜜桃冫| 亚洲18影院在线观看|