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

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

?? utils.js

?? 尚洋倉庫管理系統,對倉庫
?? JS
?? 第 1 頁 / 共 3 頁
字號:
/** The Zapatec DHTML utils library** Copyright (c) 2004-2005 by Zapatec, Inc.* http://www.zapatec.com* 1700 MLK Way, Berkeley, California,* 94709, U.S.A.* All rights reserved.* $Id: utils.js 2245 2006-03-24 03:30:17Z ken $*** Various utility functions*/// This can be defined in other modulesif (typeof Zapatec == 'undefined') {  /// define the global Zapatec namespace  Zapatec = {};}/// define the Utils namespaceZapatec.Utils = {};/// Retrieves the absolute position (relative to <body>) of a given element.////// If it doesn't work in IE 6, try this:/// \code/// setTimeout(function() {///   var objPos = Zapatec.Utils.getAbsolutePos(objElement);///   do something with objPos/// }, 0);/// \endcode////// @param el [HTMLElement] reference to the element./// @return [object] { x, y } containing the position.Zapatec.Utils.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;};/// Modify the position of a box to fit in browser's view.  This function will/// modify the passed object itself, so it doesn't need to return a value.////// @param [object] box { x, y, width, height } specifying the area.Zapatec.Utils.fixBoxPosition = function(box) {	if (box.x < 0)		box.x = 0;	if (box.y < 0)		box.y = 0;	var cp = Zapatec.Utils.createElement("div");	var s = cp.style;	s.position = "absolute";	s.right = s.bottom = s.width = s.height = "0px";	window.document.body.appendChild(cp);	var br = Zapatec.Utils.getAbsolutePos(cp);	window.document.body.removeChild(cp);	if (Zapatec.is_ie) {		br.y += window.document.body.scrollTop;		br.x += window.document.body.scrollLeft;	} else {		br.y += window.scrollY;		br.x += window.scrollX;	}	var tmp = box.x + box.width - br.x;	if (tmp > 0) box.x -= tmp;	tmp = box.y + box.height - br.y;	if (tmp > 0) box.y -= tmp;};/// Determines if an event is related to a certain element.  This is a poor/// substitute for some events that are missing from DOM since forever (like/// onenter, onleave, which MSIE provides).  Basically onmouseover and/// onmouseout are fired even if the mouse was already in the element but moved/// from text to a blank area, so in order not to close a popup element when/// onmouseout occurs in this situation, one would need to first check if the/// event is not related to that popup element:////// \code///      function handler_onMouseOut(event) {///         if (!Zapatec.Utils.isRelated(this, event)) {///            /// can safely hide it now///            this.style.display = "none";///         }///      }/// \endcode////// @param el [HTMLElement] reference to the element to check the event against/// @param evt [Event] reference to the Event object/// @return [boolean] true if the event is related to the elementZapatec.Utils.isRelated = function (el, evt) {	evt || (evt = window.event);	var related = evt.relatedTarget;	if (!related) {		var type = evt.type;		if (type == "mouseover") {			related = evt.fromElement;		} else if (type == "mouseout") {			related = evt.toElement;		}	}	try {		while (related) {			if (related == el) {				return true;			}			related = related.parentNode;		}	} catch(e) {};	return false;};/// Remove a certain [CSS] class from the given element./// @param el [HTMLElement] reference to the element./// @param className [string] the class to remove.Zapatec.Utils.removeClass = function(el, className) {	if (!(el && el.className)) {		return;	}	var cls = el.className.split(" ");	var ar = [];	for (var i = cls.length; i > 0;) {		if (cls[--i] != className) {			ar[ar.length] = cls[i];		}	}	el.className = ar.join(" ");};/// Appends a certain [CSS] class to the given element./// @param el [HTMLElement] reference to the element./// @param className [string] the class to append.Zapatec.Utils.addClass = function(el, className) {	Zapatec.Utils.removeClass(el, className);	el.className += " " + className;};/// Retrieves the current target element for some event (useful when bubbling)./// This function is not actually very useful, but it's legacy from the old calendar code./// @param ev [Event] the event object./// @return [HTMLElement] window.event.srcElement for MSIE, ev.currentTarget for other browsers.Zapatec.Utils.getElement = function(ev) {	if (Zapatec.is_ie) {		return window.event.srcElement;	} else {		return ev.currentTarget;	}};/// Retrieves the target element for some event (useful when bubbling)./// This function is not actually very useful, but it's legacy from the old calendar code./// @param ev [Event] the event object./// @return [HTMLElement] window.event.srcElement for MSIE, ev.target for other browsers.Zapatec.Utils.getTargetElement = function(ev) {	if (Zapatec.is_ie) {		return window.event.srcElement;	} else {		return ev.target;	}};/// Stops bubbling and propagation of some event./// @param ev [Event] the event object/// @return falseZapatec.Utils.stopEvent = function(ev) {	ev || (ev = window.event);	if (ev) {		if (Zapatec.is_ie) {			ev.cancelBubble = true;			ev.returnValue = false;		} else {			ev.preventDefault();			ev.stopPropagation();		}	}	return false;};/// Adds an event handler to a certain element.  This function adds a handler/// using the DOM2 addEventListener (or attachEvent for MSIE).  Doing this/// means that you can add multiple handlers for the same element and same/// event name, and they will be called in order.////// WARNING: for really old browsers that don't support attachEvent nor/// addEventListener, it falls back to the default way: el.onclick = func./// This means that you CANNOT add multiple handlers in those browsers, as a/// new one will override the old one.////// @param el [HTMLElement] reference to the element./// @param evname [string] the event name, excluding the "on" prefix./// @param func event handler function.Zapatec.Utils.addEvent = function(el, evname, func) {	if (el.attachEvent) { // IE		el.attachEvent("on" + evname, func);	} else if (el.addEventListener) { // Gecko / W3C		el.addEventListener(evname, func, false);	} else {		el["on" + evname] = func;	}};/// Removes an event handler added with Zapatec.Utils.removeEvent().  The/// prototype scheme is the same.Zapatec.Utils.removeEvent = function(el, evname, func) {	if (el.detachEvent) { // IE		el.detachEvent("on" + evname, func);	} else if (el.removeEventListener) { // Gecko / W3C		el.removeEventListener(evname, func, false);	} else {		el["on" + evname] = null;	}};/// Create an element of a certain type using document.createElement().  A/// function was needed in order to add some common attributes to all created/// elements, but also in order to be able to use it in XHTML too (Gecko and/// other W3C-compliant browsers).////// This function will create an element of the given type and set certain/// properties to it: unselectable for IE, and the CSS "-moz-user-select" for/// Gecko, in order to make the element unselectable in these browsers./// Optionally, if the second argument is passed, it will appendChild() the/// newly created element to its parent.////// @param type [string] the tag name of the new element./// @param parent [HTMLElement, optional] a parent for the new element./// @param selectable [boolean] the flag to indicate wether element is selectable(rather usefull)./// @return [HTMLElement] reference to the new element.Zapatec.Utils.createElement = function(type, parent, selectable) {	var el = null;	if (window.self.document.createElementNS)		// use the XHTML namespace; IE won't normally get here unless		// _they_ "fix" the DOM2 implementation.		el = window.self.document.createElementNS("http://www.w3.org/1999/xhtml", type);	else		el = window.self.document.createElement(type);	if (typeof parent != "undefined" &&parent != null)		parent.appendChild(el);	if (!selectable) {		if (Zapatec.is_ie)			el.setAttribute("unselectable", true);		if (Zapatec.is_gecko)			el.style.setProperty("-moz-user-select", "none", "");	}	return el;};// Cookie management/// Sets a cooke given certain specifications.  It overrides any existing/// cookie with the same name.////// @param name [string] the cookie name./// @param value [string] the cookie value./// @param domain [string, optional] the cookie domain./// @param path [string, optional] the cookie path./// @param exp_days [number, optional] number of days of cookie validity.Zapatec.Utils.writeCookie = function(name, value, domain, path, exp_days) {	value = escape(value);	var ck = name + "=" + value, exp;	if (domain)		ck += ";domain=" + domain;	if (path)		ck += ";path=" + path;	if (exp_days) {		exp = new Date();		exp.setTime(exp_days * 86400000 + exp.getTime());		ck += ";expires=" + exp.toGMTString();	}	document.cookie = ck;};/** * Retrieves the value of a cookie. * * @param name [string] the cookie name * @return [string or null] a string with the cookie value, or null if it can't be found. *//* ? inside regular expression is not supported in IE 5.0Zapatec.Utils.getCookie = function(name) {	var re = new RegExp("(^|;\\s*)" + name + "\\s*=(.*?)(;|$)");	if (re.test(document.cookie)) {		var value = RegExp.$2;		value = unescape(value);		return (value);	}	return null;};*/Zapatec.Utils.getCookie = function(name) {	var pattern = name + "=";	var tokenPos = 0;	while (tokenPos < document.cookie.length) {		var valuePos = tokenPos + pattern.length;		if (document.cookie.substring(tokenPos, valuePos) == pattern) {			var endValuePos = document.cookie.indexOf(";", valuePos);			if (endValuePos == -1) { // Last cookie				endValuePos = document.cookie.length;			}			return unescape(document.cookie.substring(valuePos, endValuePos));		}		tokenPos=document.cookie.indexOf(" ",tokenPos)+1;		if (tokenPos == 0) { // No more tokens			break;		}	}	return null;};/** * Given an object, create a string suitable for saving the object in a cookie. * This is similar to serialization.  WARNING: it does not support nested * objects. * * @param obj [Object] reference to the object to serialize. * @return [string] the serialized object. */Zapatec.Utils.makePref = function(obj) {	function stringify(val) {		if (typeof val == "object" && !val)			return "null";		else if (typeof val == "number" || typeof val == "boolean")			return val;		else if (typeof val == "string")			return '"' + val.replace(/\22/, "\\22") + '"';		else return null;	};	var txt = "", i;	for (i in obj)		txt += (txt ? ",'" : "'") + i + "':" + stringify(obj[i]);	return txt;};/** * The reverse of Zapatec.Utils.makePref(), this function unserializes the * given string and creates an object from it. * * @param txt [string] the serialized value. * @return [Object] a new object if it was created successfully or null otherwise.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美猛男男办公室激情| 久久97超碰国产精品超碰| caoporen国产精品视频| 中文字幕一区不卡| 91日韩一区二区三区| 亚洲五月六月丁香激情| 欧美日韩成人综合天天影院| 免费成人av在线| 久久久99久久| av不卡在线观看| 亚洲一二三区不卡| 欧美大片一区二区| 成人综合婷婷国产精品久久| 亚洲色图视频网| 91精品麻豆日日躁夜夜躁| 精品一区二区影视| 中文字幕日本不卡| 欧美精品 国产精品| 国产一二三精品| 亚洲精品第1页| 91精品国产91久久久久久最新毛片| 免费精品视频最新在线| 中文字幕二三区不卡| 色哟哟一区二区三区| 日本系列欧美系列| 国产精品久久久99| 制服丝袜中文字幕亚洲| 丁香五精品蜜臀久久久久99网站| 亚洲女同一区二区| 精品福利av导航| 日本乱人伦aⅴ精品| 激情小说欧美图片| 亚洲综合色网站| 久久久亚洲精华液精华液精华液| 色av一区二区| 韩日av一区二区| 亚洲综合免费观看高清完整版 | 蜜桃在线一区二区三区| 中文字幕成人网| 欧美一卡二卡三卡四卡| av在线播放成人| 国模一区二区三区白浆 | 国产成人亚洲综合a∨婷婷| 亚洲天堂免费看| 欧美精品一区二区精品网| 91理论电影在线观看| 精品亚洲国产成人av制服丝袜 | 欧美精品一卡两卡| av在线一区二区| 国产成人高清在线| 久久机这里只有精品| 亚洲高清不卡在线观看| 国产精品理论在线观看| 日韩美一区二区三区| 欧美色图在线观看| 99精品欧美一区二区蜜桃免费| 国产精品自在在线| 麻豆精品在线看| 午夜精品一区二区三区免费视频| 亚洲视频一区二区在线观看| 久久久99精品免费观看不卡| 日韩精品一区二区三区三区免费| 欧美日韩五月天| 在线观看亚洲a| 91国产丝袜在线播放| 91蝌蚪porny| 99久久综合99久久综合网站| 国产 日韩 欧美大片| 韩国成人福利片在线播放| 青青草成人在线观看| 香港成人在线视频| 亚洲最大色网站| 亚洲影视在线播放| 亚洲精品成人在线| 亚洲乱码国产乱码精品精的特点| 中文字幕一区二区三| 自拍偷拍欧美激情| 一区二区三区国产精品| 亚洲靠逼com| 亚洲一区二区在线免费看| 一区二区三区在线观看国产| 一区二区三区丝袜| 亚洲一区二区在线观看视频 | 一区二区三区日韩在线观看| 亚洲综合视频网| 午夜影院在线观看欧美| 天堂蜜桃91精品| 裸体歌舞表演一区二区| 久久精工是国产品牌吗| 国产精华液一区二区三区| 粉嫩欧美一区二区三区高清影视| 成人网在线播放| 91免费观看视频在线| 色一情一伦一子一伦一区| 欧美写真视频网站| 91精品国产麻豆国产自产在线 | 亚洲妇女屁股眼交7| 日韩精品一二三四| 国产麻豆成人传媒免费观看| bt7086福利一区国产| 欧美日韩一级视频| 久久婷婷国产综合精品青草| 国产精品久久久久久久浪潮网站| 一区二区三区在线观看动漫| 美女视频黄免费的久久 | av电影在线观看完整版一区二区| 91麻豆福利精品推荐| 欧美一区二区三区在线视频| 国产午夜精品一区二区三区视频| 成人欧美一区二区三区黑人麻豆| 亚洲成人动漫在线观看| 紧缚奴在线一区二区三区| 91视频免费播放| 日韩精品自拍偷拍| 亚洲三级久久久| 美日韩一级片在线观看| 成年人网站91| 日韩欧美一卡二卡| 中文字幕一区二区在线观看| 视频在线观看91| 成人亚洲精品久久久久软件| 欧美一区二区三区在线观看| 亚洲欧洲成人自拍| 麻豆精品精品国产自在97香蕉| 99在线热播精品免费| 日韩欧美二区三区| 一区二区三区中文字幕| 成人午夜看片网址| 欧美一级欧美一级在线播放| 亚洲三级电影网站| 国产麻豆精品在线观看| 欧美三级三级三级| 国产精品色一区二区三区| 奇米一区二区三区av| 色欧美日韩亚洲| 欧美韩日一区二区三区四区| 久久精品久久久精品美女| 日本精品一区二区三区高清| 国产性色一区二区| 奇米精品一区二区三区在线观看一| 99精品偷自拍| 国产精品欧美一区喷水| 在线看国产一区二区| 日本一区二区综合亚洲| 美女视频黄 久久| 91精品欧美久久久久久动漫| 一区二区理论电影在线观看| www.欧美日韩国产在线| 久久噜噜亚洲综合| 久久精品国产色蜜蜜麻豆| 精品视频在线看| 一区二区三区四区不卡视频| 91亚洲精品久久久蜜桃网站| 国产欧美日韩综合| 国产精品一级片| 2020国产精品自拍| 精品无人码麻豆乱码1区2区| 日韩欧美视频一区| 麻豆91在线观看| 日韩精品影音先锋| 蜜桃在线一区二区三区| 日韩欧美国产三级电影视频| 精品在线亚洲视频| 精品美女一区二区三区| 美腿丝袜在线亚洲一区| 日韩精品在线网站| 国产麻豆视频一区二区| 国产日韩影视精品| www.亚洲色图| 一区二区三区不卡在线观看| 色婷婷亚洲一区二区三区| 亚洲一区二区三区激情| 欧美剧情片在线观看| 日韩福利视频网| 精品国内片67194| 国产精品小仙女| 亚洲欧美一区二区在线观看| 色综合色狠狠天天综合色| 亚洲精品亚洲人成人网在线播放| 色综合久久88色综合天天免费| 亚洲精品va在线观看| 欧美性高清videossexo| 首页亚洲欧美制服丝腿| 欧美电视剧免费观看| 国产精品一二二区| ...av二区三区久久精品| 91久久精品网| 美女精品自拍一二三四| 欧美激情一二三区| 在线观看欧美黄色| 婷婷夜色潮精品综合在线| 日韩欧美色综合| 99这里只有久久精品视频| 亚州成人在线电影| 337p日本欧洲亚洲大胆精品| 91碰在线视频| 久久精品国产亚洲高清剧情介绍| 亚洲国产成人午夜在线一区| 欧美日韩在线播放一区| 精品午夜一区二区三区在线观看|