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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? dommenu.js

?? 免費的java企業(yè)級論壇可執(zhí)行程序
?? JS
?? 第 1 頁 / 共 3 頁
字號:
/** $Id: domMenu.js,v 1.1 2006/12/26 08:24:23 linhdh Exp $ */
// {{{ license

/*
 * Copyright 2002-2005 Dan Allen, Mojavelinux.com (dan.allen@mojavelinux.com)
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

// }}}
// {{{ intro

/**
 * Title: DOM Menu Library
 * Version: 0.3.7
 *
 * Summary:
 * A widget library for creating dynamic "popout" menus on webpages.  The menu can
 * either be horizontal or vertical, and can open in either direction.  It has
 * both edge detection and obstruction detection (for browsers that cannot
 * hide select boxes or flash animations).  The styles for the menu items are
 * controlled entirely through CSS. The menus are created and destroyed using
 * the DOM.  Menu configuration is done using a custom Hash() class.
 *
 * Dependency: domLib.js version 0.72
 *
 * Maintainer: Dan Allen <dan@mojavelinux.com>
 * Contributors:
 * 		Jason Rust <jrust@rustyparts.com>
 *
 * License: Apache 2.0
 * However, if you use this library, you earn the position of official bug
 * reporter :) Please post questions or problem reports to the newsgroup:
 *
 *   http://groups.google.com/group/dom-menu
 *
 * If you are doing this for commercial work, perhaps you could send me a few
 * Starbucks Coffee gift dollars or PayPal bucks to encourage future
 * developement (NOT REQUIRED).  E-mail me for my snail mail address.
 *
 * Homepage: http://www.mojavelinux.com/projects/dommenu/
 *
 * Freshmeat Project: http://freshmeat.net/projects/dommenu/?topic_id=92
 *
 * Updated: $Date: 2006/12/26 08:24:23 $
 *
 * Supported Browsers:
 * Mozilla (Gecko), IE 5.0+, IE on Mac, Safari, Konqueror, Opera 7+
 *
 * If there is a non-negative click open delay, then any uri of the element will be ignored
 *
 * The alternate contents for a hover element are treated by creating to <span> wrapper elements
 * and then alternating the display of them.  This avoids the need for innerHTML, which can
 * do nasty things to the browsers.  If <span> turns out to be a bad choice for tags, then a
 * non-HTML element can be used instead.
 *
 * Dev Notes:
 * - added cellSpacing = 0 for domLib_isMacIE (two places)
 * - seems that Safari and Firefox share an offset problem of menu under parent (pmp example)
 * - must use createTextNode() to add the "\n" that is required for Mac to
 *   render the appendChild element (two places); this might be the solution for
 *   the sub menus as well
 * - Safari seems to have a problem with offsetTop if a descendent of body has a margin; solution
 *   is to use padding on the body
 */

// }}}
// {{{ settings (editable)

var domMenu_data = new Hash();
var domMenu_settings = new Hash();

domMenu_settings.set('global', new Hash(
	'menuBarClass', 'domMenu_menuBar',
	'menuElementClass', 'domMenu_menuElement',
	'menuElementHoverClass', 'domMenu_menuElementHover',
	'menuElementActiveClass', 'domMenu_menuElementHover',
	'subMenuBarClass', 'domMenu_subMenuBar',
	'subMenuElementClass', 'domMenu_subMenuElement',
	'subMenuElementHoverClass', 'domMenu_subMenuElementHover',
	'subMenuElementActiveClass', 'domMenu_subMenuElementHover',
	'subMenuElementHeadingClass', 'domMenu_subMenuElementHeading',
	'subMenuTargetFrame', false,
	'targetDocumentXOrigin', 0,
	'targetDocumentYOrigin', 0,
	'menuBarWidth', '100%',
	'subMenuMinWidth', 'inherit',
	'distributeSpace', true,
	'axis', 'horizontal',
	'verticalExpand', 'south',
	'horizontalExpand', 'east',
	'expandMenuArrowUrl', 'arrow.gif',
	'subMenuWidthCorrection', 0,
	'verticalSubMenuOffsetY', 0,
	'verticalSubMenuOffsetX', 0,
	'horizontalSubMenuOffsetX', 0,
	'horizontalSubMenuOffsetY', 0,
	'screenPadding', 0,
	'openMouseoverMenuDelay', 300,
	'openMousedownMenuDelay', -1,
	'closeMouseoutMenuDelay', 800,
	'closeClickMenuDelay', -1,
	'openMouseoverSubMenuDelay', 300,
	'openClickSubMenuDelay', -1,
	'closeMouseoutSubMenuDelay', 300,
	'closeClickSubMenuDelay', -1,
	'baseZIndex', 100,
	'baseUri', ''
));

// }}}
// {{{ globals (DO NOT EDIT)

/**
 * The data for the menu is stored here, loaded from an external file
 * @hash domMenu_data
 */
var domMenu_data;

var domMenu_selectElements;
var domMenu_scrollbarWidth = 14;
var domMenu_eventTo = domLib_isIE ? 'toElement' : 'relatedTarget';
var domMenu_eventFrom = domLib_isIE ? 'fromElement' : 'relatedTarget';

var domMenu_activeElement = new Hash();

/**
 * Array of hashes listing the timouts currently running for opening/closing menus
 * @array domMenu_timeouts
 */
var domMenu_timeouts = [];
domMenu_timeouts['open'] = new Hash();
domMenu_timeouts['close'] = new Hash();

/**
 * Style to use for a link pointer, which is different between Gecko and IE
 * @var domMenu_pointerStyle
 */
var domMenu_pointerStyle = domLib_isIE ? 'hand' : 'pointer';

// }}}
// {{{ domMenu_activate()

function domMenu_activate(in_containerId, in_disableWarning)
{
	var container;
	var data;

	// make sure we can use the menu system
	if (!domLib_useLibrary)
	{
		if (!in_disableWarning)
		{
				alert('domMenu: Browser not supported.  Menu will be disabled.');
		}

		return;
	}

	// make sure that this is a valid menu, 
	// and that the menu actually has data
	if (!(container = document.getElementById(in_containerId)) || 
		!(data = domMenu_data.get(in_containerId)) ||
		data.numericLength == 0) {
		if (!in_disableWarning) {
				alert('domMenu: Menu failed to load.');
		}

		return;
	}

	if (domLib_isIE && window.attachEvent) {
		window.attachEvent('onunload', domMenu_unloadEventCache);
	}

	// start with the global settings and merge in the local changes
	if (!domMenu_settings.has(in_containerId)) {
		domMenu_settings.set(in_containerId, new Hash());
	}

	var settings = domMenu_settings.get(in_containerId);
	for (var i in domMenu_settings.get('global').elementData) {
		if (!settings.has(i)) {
			settings.set(i, domMenu_settings.get('global').get(i));
		}
	}

	// populate the zero level element
	container.data = new Hash(
		'parentElement', false,
		'numChildren', data.numericLength,
		'childElements', new Hash(),
		'level', 0,
		'index', 1
	);
	
	// if we choose to distribute either height or width, determine ratio of each cell
	var distributeRatio = Math.round(100/container.data.get('numChildren')) + '%';
	
	// the first menu is the rootMenu, which is a child of the zero level element
	var rootMenu = document.createElement('div');
	rootMenu.id = in_containerId + '-0';
	rootMenu.className = settings.get('menuBarClass');
	container.data.set('subMenu', rootMenu);

	var rootMenuTable = rootMenu.appendChild(document.createElement('table'));
	if (domLib_isKonq || domLib_isMacIE) {
		rootMenuTable.cellSpacing = 0;
	}

	rootMenuTable.style.border = 0;
	rootMenuTable.style.borderCollapse = 'collapse';
	rootMenuTable.style.width = settings.get('menuBarWidth');
	var rootMenuTableBody = rootMenuTable.appendChild(document.createElement('tbody'));

	var numSiblings = container.data.get('numChildren');
	for (var index = 1; index <= numSiblings; index++) {
		// create a row the first time if horizontal or each time if vertical
		if (index == 1 || settings.get('axis') == 'vertical') {
			var rootMenuTableRow = rootMenuTableBody.appendChild(document.createElement('tr'));
		}

		// create an instance of the root level menu element
		var rootMenuTableCell = rootMenuTableRow.appendChild(document.createElement('td'));
		rootMenuTableCell.style.padding = 0;
		rootMenuTableCell.id = in_containerId + '-' + index;
		// add element to list of parent children
		container.data.get('childElements').set(rootMenuTableCell.id, rootMenuTableCell);

		// assign the settings to the root level element
		// NOTE: this is a problem if two menus are using the same data
		rootMenuTableCell.data = data.get(index);
		rootMenuTableCell.data.merge(new Hash(
			'basename', in_containerId,
			'parentElement', container,
			'numChildren', rootMenuTableCell.data.numericLength,
			'childElements', new Hash(),
			'offsets', new Hash(),
			'level', container.data.get('level') + 1,
			'index', index
		));

		// assign the styles
		rootMenuTableCell.style.cursor = 'default';
		if (settings.get('axis') == 'horizontal') {
			if (settings.get('distributeSpace')) {
				rootMenuTableCell.style.width = distributeRatio;
			}
		}

		// Needed for when the text wraps
		rootMenuTableCell.style.verticalAlign = 'top';

		var rootElement = rootMenuTableCell.appendChild(document.createElement('div'));
		rootElement.className = settings.get('menuElementClass');
		// fill in the menu element contents
		var spanElement = rootElement.appendChild(document.createElement('span'));
		// can't use createTextNode() because there might be img tags in the contents
		spanElement.innerHTML = rootMenuTableCell.data.get('contents').replace(/\/\/\//, settings.get('baseUri'));
		// add hover contents if needed
		if (rootMenuTableCell.data.has('contentsHover')) {
			spanElement = rootElement.appendChild(document.createElement('span'));
			spanElement.style.display = 'none';
			spanElement.innerHTML = rootMenuTableCell.data.get('contentsHover').replace(/\/\/\//, settings.get('baseUri'));
		}

		// MacIE has to have a newline at the end or else it barfs
		// additionally, it MUST be added using createTextNode() or IE will crash!
		if (domLib_isMacIE) {
			rootMenuTableCell.appendChild(document.createTextNode("\n"));
		}

		// attach the events
		rootMenuTableCell.onmouseover = domMenu_openMenuOnmouseoverHandler;
		rootMenuTableCell.onmouseout = domMenu_closeMenuHandler;

		if (settings.get('openMousedownMenuDelay') >= 0 && rootMenuTableCell.data.get('numChildren')) {
			rootMenuTableCell.onmousedown = domMenu_openMenuOnmousedownHandler;
			// cancel mouseup so that it doesn't propogate to global mouseup event
			rootMenuTableCell.onmouseup = domLib_cancelBubble;
			if (domLib_isIE) {
				rootMenuTableCell.ondblclick = domMenu_openMenuOnmousedownHandler;
			}
		}
		else if (rootMenuTableCell.data.get('uri')) {
			rootMenuTableCell.style.cursor = domMenu_pointerStyle;
			rootMenuTableCell.onclick = domMenu_resolveLinkHandler;
		}

		// prevent highlighting of text
		if (domLib_isIE) {
			rootMenuTableCell.onselectstart = makeFalse; 
		}

		rootMenuTableCell.oncontextmenu = makeFalse; 
	}
	
	// add the menu rootMenu to the zero level element
	rootMenu = container.appendChild(rootMenu);

	if (domLib_detectObstructionsEnabled) {
		// even though most cases the top level menu does not go away, it could
		// if this menu system is used by another process
		domLib_detectObstructions(rootMenu, false, false);
	}
}

// }}}
// {{{ domMenu_activateSubMenu()

function domMenu_activateSubMenu(in_parentElement)
{
	// NOTE: submenus not supported in MacIE because of problems using
	// appendChild on document.body
	if (domLib_isMacIE) {
		return;
	}

	// see if submenu already exists
	if (in_parentElement.data.has('subMenu')) {
		domMenu_toggleSubMenu(in_parentElement, 'visible');
		return;
	}

	var settings = domMenu_settings.get(in_parentElement.data.get('basename'));

	var targetDoc = document;
	var targetFrame = settings.get('subMenuTargetFrame');
	if (targetFrame) {
		targetDoc = targetFrame.document;
	}

	// build the submenu
	var menu = targetDoc.createElement('div');
	menu.id = in_parentElement.id + '-0';
	menu.className = settings.get('subMenuBarClass');
	menu.style.zIndex = settings.get('baseZIndex');
	menu.style.position = 'absolute';
	// position the menu in the upper left corner hidden so that we can work on it
	menu.style.visibility = 'hidden';
	menu.style.top = 0;
	menu.style.left = 0;

	in_parentElement.data.set('subMenu', menu);

	var menuTable = menu.appendChild(targetDoc.createElement('table'));
	// ** opera wants to make absolute tables width 100% **
	if (domLib_isOpera) {
		menuTable.style.width = '1px';
		menuTable.style.whiteSpace = 'nowrap';
	}

	if (domLib_isKonq || domLib_isMacIE) {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕欧美一| 国产**成人网毛片九色| 久热成人在线视频| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 欧美一区二区三区在| 亚洲精品视频在线观看免费| 韩日欧美一区二区三区| 欧美zozo另类异族| 黄网站免费久久| 精品成人佐山爱一区二区| 免费成人你懂的| 日韩欧美一级在线播放| 理论电影国产精品| 精品久久久久久久久久久久久久久久久| 亚洲电影在线播放| 欧美在线你懂得| 亚洲最大成人综合| 色综合一区二区三区| 一区二区不卡在线视频 午夜欧美不卡在| 国产成人综合精品三级| 久久久精品人体av艺术| 在线视频综合导航| 一区二区三区四区在线播放 | 成人手机在线视频| 中文无字幕一区二区三区| www.亚洲免费av| 亚洲精品大片www| 欧美一区二区在线不卡| 亚洲国产三级在线| 精品久久久三级丝袜| 成人免费观看av| 一区二区三区欧美日| 91精品国产综合久久蜜臀| 久久99精品国产麻豆婷婷| www成人在线观看| 粉嫩绯色av一区二区在线观看| 国产精品情趣视频| 色爱区综合激月婷婷| 免费人成在线不卡| 欧美激情中文不卡| 色婷婷国产精品| 久久99国内精品| 欧美国产在线观看| 99久久伊人网影院| 亚洲成人激情自拍| 国产亚洲一区二区三区在线观看 | 一区二区三区中文免费| 日韩欧美在线综合网| 欧美一区二区三级| 99精品在线观看视频| 精品国产3级a| 国产jizzjizz一区二区| 亚洲高清免费一级二级三级| 国产亚洲一区二区三区四区 | 国模娜娜一区二区三区| 亚洲青青青在线视频| 日韩欧美亚洲另类制服综合在线 | www.欧美色图| 亚洲福利电影网| 久久免费视频色| 欧美日韩国产综合一区二区三区| 国产一区美女在线| 亚洲1区2区3区4区| 国产精品美日韩| 在线播放亚洲一区| 国产精品1024| 首页国产欧美日韩丝袜| 国产精品久久久久毛片软件| 欧美精品亚洲一区二区在线播放| av亚洲精华国产精华精| 黑人巨大精品欧美一区| 亚洲国产视频a| 自拍偷拍亚洲综合| 国产午夜精品一区二区三区嫩草| 欧美视频一区二区三区在线观看| 国产精品一区专区| 日韩二区在线观看| 亚洲激情图片一区| 中文字幕视频一区| 久久婷婷国产综合国色天香| 欧美喷水一区二区| 日本道精品一区二区三区| 国产成人综合亚洲91猫咪| 精久久久久久久久久久| 日本不卡一区二区三区高清视频| 亚洲黄色免费电影| 亚洲人成精品久久久久久| 国产精品私人影院| 日本一区二区电影| 久久精品人人爽人人爽| 制服.丝袜.亚洲.中文.综合| 成人a区在线观看| 国产成人在线看| 极品美女销魂一区二区三区| 日本欧美在线观看| 天天色综合成人网| 性做久久久久久免费观看| 亚洲最新视频在线观看| 一区二区欧美在线观看| 亚洲自拍偷拍av| 一区二区欧美精品| 亚洲大片精品永久免费| 亚洲视频每日更新| 欧美韩国日本不卡| 亚洲日穴在线视频| 亚洲国产乱码最新视频| 日产精品久久久久久久性色| 日韩1区2区3区| 欧美日韩综合不卡| 午夜成人免费电影| 日韩成人dvd| 亚洲一区二区视频| 午夜精品福利一区二区三区av| 亚洲一卡二卡三卡四卡五卡| 亚洲专区一二三| 日本vs亚洲vs韩国一区三区二区| 老色鬼精品视频在线观看播放| 毛片av一区二区| 国产成人免费9x9x人网站视频| 99视频一区二区三区| 日本电影欧美片| 欧美日韩黄色一区二区| 精品毛片乱码1区2区3区| 精品国产一二三| 国产精品美女视频| 亚洲成人在线观看视频| 久久成人免费网站| www.视频一区| 91麻豆精品国产91久久久久久久久 | 成人丝袜18视频在线观看| 91国产精品成人| 久久综合九色综合97_久久久| 日本一区二区综合亚洲| 一卡二卡三卡日韩欧美| 国产一区视频在线看| 日本韩国视频一区二区| 欧美电影免费观看高清完整版在 | 欧美日精品一区视频| 在线成人av影院| 中文字幕亚洲一区二区av在线 | 中文字幕av一区二区三区免费看 | 粉嫩13p一区二区三区| 欧美性生交片4| 日本一区二区动态图| 极品美女销魂一区二区三区免费| 欧美日韩在线三区| 亚洲色图在线播放| 成人国产精品视频| 久久久久久**毛片大全| 麻豆精品在线播放| 91精品婷婷国产综合久久竹菊| 亚洲精品视频在线看| eeuss鲁片一区二区三区| 国产网红主播福利一区二区| 麻豆精品新av中文字幕| 51久久夜色精品国产麻豆| 亚洲成人资源在线| 欧美三区免费完整视频在线观看| 综合久久国产九一剧情麻豆| 成人午夜伦理影院| 国产精品欧美精品| 国产成人精品免费在线| 精品久久99ma| 黄色成人免费在线| 精品国产一区a| 国产乱妇无码大片在线观看| 久久夜色精品一区| 国产精品一区二区三区乱码| 久久久精品国产免大香伊| 国产一区二区三区日韩| 久久蜜桃av一区二区天堂| 韩国一区二区三区| 久久精品欧美一区二区三区不卡| 国产一区日韩二区欧美三区| 久久久久久久综合| 高清成人免费视频| 国产精品美女视频| 91蜜桃免费观看视频| 亚洲精品福利视频网站| 欧美色综合天天久久综合精品| 国模冰冰炮一区二区| 懂色av一区二区在线播放| 色婷婷香蕉在线一区二区| 91精品婷婷国产综合久久竹菊| 免费在线观看成人| 久久久亚洲综合| 99久久久精品免费观看国产蜜| 亚洲精品视频免费看| 欧美日韩免费观看一区三区| 日韩成人一区二区三区在线观看| 日韩精品影音先锋| 国产高清精品在线| 亚洲男人的天堂在线观看| 欧美日韩一区二区在线观看视频| 日本一道高清亚洲日美韩| 久久久久久久性| 欧美主播一区二区三区| 蜜桃视频免费观看一区| 日本一区二区成人| 欧美日韩免费一区二区三区 |