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

📄 menu.js

📁 AR9001.rar ZUOM AR9001.rar
💻 JS
字号:
/*	[Discuz!] (C)2001-2007 Comsenz Inc.	This is NOT a freeware, use is subject to license terms	$RCSfile: menu.js,v $	$Revision: 1.66 $	$Date: 2007/07/26 07:35:27 $*/var jsmenu = new Array();var ctrlobjclassName;jsmenu['active'] = new Array();jsmenu['timer'] = new Array();jsmenu['iframe'] = new Array();function initCtrl(ctrlobj, click, duration, timeout, layer) {	if(ctrlobj && !ctrlobj.initialized) {		ctrlobj.initialized = true;		ctrlobj.unselectable = true;		ctrlobj.outfunc = typeof ctrlobj.onmouseout == 'function' ? ctrlobj.onmouseout : null;		ctrlobj.onmouseout = function() {			if(this.outfunc) this.outfunc();			if(duration < 3) jsmenu['timer'][ctrlobj.id] = setTimeout('hideMenu(' + layer + ')', timeout);		}		if(click && duration) {			ctrlobj.clickfunc = typeof ctrlobj.onclick == 'function' ? ctrlobj.onclick : null;			ctrlobj.onclick = function (e) {				doane(e);				if(jsmenu['active'][layer] == null || jsmenu['active'][layer].ctrlkey != this.id) {					if(this.clickfunc) this.clickfunc();					else showMenu(this.id, true);				} else {					hideMenu(layer);				}			}		}		ctrlobj.overfunc = typeof ctrlobj.onmouseover == 'function' ? ctrlobj.onmouseover : null;		ctrlobj.onmouseover = function(e) {			doane(e);			if(this.overfunc) this.overfunc();			if(click) {				clearTimeout(jsmenu['timer'][this.id]);			} else {				for(var id in jsmenu['timer']) {					if(jsmenu['timer'][id]) clearTimeout(jsmenu['timer'][id]);				}			}		}	}}function initMenu(ctrlid, menuobj, duration, timeout, layer) {	if(menuobj && !menuobj.initialized) {		menuobj.initialized = true;		menuobj.ctrlkey = ctrlid;		menuobj.onclick = ebygum;		menuobj.style.position = 'absolute';		if(duration < 3) {			if(duration > 1) {				menuobj.onmouseover = function() {					clearTimeout(jsmenu['timer'][ctrlid]);				}			}			if(duration != 1) {				menuobj.onmouseout = function() {					jsmenu['timer'][ctrlid] = setTimeout('hideMenu(' + layer + ')', timeout);				}			}		}		menuobj.style.zIndex = 50;		if(is_ie) {			menuobj.style.filter += "progid:DXImageTransform.Microsoft.shadow(direction=135,color=#CCCCCC,strength=2)";		}	}}function showMenu(ctrlid, click, offset, duration, timeout, layer, showid, maxh) {	e = window.event ? window.event : showMenu.caller.arguments[0];	var ctrlobj = $(ctrlid);	if(!ctrlobj) return;	if(isUndefined(click)) click = false;	if(isUndefined(offset)) offset = 0;	if(isUndefined(duration)) duration = 2;	if(isUndefined(timeout)) timeout = 500;	if(isUndefined(layer)) layer = 0;	if(isUndefined(showid)) showid = ctrlid;	var showobj = $(showid);	var menuobj = $(showid + '_menu');	if(!showobj|| !menuobj) return;	if(isUndefined(maxh)) maxh = 400;	hideMenu(layer);	for(var id in jsmenu['timer']) {		if(jsmenu['timer'][id]) clearTimeout(jsmenu['timer'][id]);	}	initCtrl(ctrlobj, click, duration, timeout, layer);	ctrlobjclassName = ctrlobj.className;	ctrlobj.className += ' hover';	initMenu(ctrlid, menuobj, duration, timeout, layer);	menuobj.style.display = '';	if(!is_opera) {		menuobj.style.clip = 'rect(auto, auto, auto, auto)';	}	setMenuPosition(showid, offset);	if(is_ie && is_ie < 7) {		if(!jsmenu['iframe'][layer]) {			var iframe = document.createElement('iframe');			iframe.style.display = 'none';			iframe.style.position = 'absolute';			iframe.style.filter = 'progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)';			$('append_parent') ? $('append_parent').appendChild(iframe) : menuobj.parentNode.appendChild(iframe);			jsmenu['iframe'][layer] = iframe;		}		jsmenu['iframe'][layer].style.top = menuobj.style.top;		jsmenu['iframe'][layer].style.left = menuobj.style.left;		jsmenu['iframe'][layer].style.width = menuobj.w;		jsmenu['iframe'][layer].style.height = menuobj.h;		jsmenu['iframe'][layer].style.display = 'block';	}	if(maxh && menuobj.scrollHeight > maxh) {		menuobj.style.height = maxh + 'px';		if(is_opera) {			menuobj.style.overflow = 'auto';		} else {			menuobj.style.overflowY = 'auto';		}	}	if(!duration) {		setTimeout('hideMenu(' + layer + ')', timeout);	}	jsmenu['active'][layer] = menuobj;}function setMenuPosition(showid, offset) {	var showobj = $(showid);	var menuobj = $(showid + '_menu');	if(isUndefined(offset)) offset = 0;	if(showobj) {		showobj.pos = fetchOffset(showobj);		showobj.X = showobj.pos['left'];		showobj.Y = showobj.pos['top'];		showobj.w = showobj.offsetWidth;		showobj.h = showobj.offsetHeight;		menuobj.w = menuobj.offsetWidth;		menuobj.h = menuobj.offsetHeight;		menuobj.style.left = (showobj.X + menuobj.w > document.body.clientWidth) && (showobj.X + showobj.w - menuobj.w >= 0) ? showobj.X + showobj.w - menuobj.w + 'px' : showobj.X + 'px';		menuobj.style.top = offset == 1 ? showobj.Y + 'px' : (offset == 2 || ((showobj.Y + showobj.h + menuobj.h > document.documentElement.scrollTop + document.documentElement.clientHeight) && (showobj.Y - menuobj.h >= 0)) ? (showobj.Y - menuobj.h) + 'px' : showobj.Y + showobj.h + 'px');		if(menuobj.style.clip && !is_opera) {			menuobj.style.clip = 'rect(auto, auto, auto, auto)';		}	}}function hideMenu(layer) {	if(isUndefined(layer)) layer = 0;	if(jsmenu['active'][layer]) {		try {			$(jsmenu['active'][layer].ctrlkey).className = ctrlobjclassName;		} catch(e) {}		clearTimeout(jsmenu['timer'][jsmenu['active'][layer].ctrlkey]);		jsmenu['active'][layer].style.display = 'none';		if(is_ie && is_ie < 7 && jsmenu['iframe'][layer]) {			jsmenu['iframe'][layer].style.display = 'none';		}		jsmenu['active'][layer] = null;	}}function fetchOffset(obj) {	var left_offset = obj.offsetLeft;	var top_offset = obj.offsetTop;	while((obj = obj.offsetParent) != null) {		left_offset += obj.offsetLeft;		top_offset += obj.offsetTop;	}	return { 'left' : left_offset, 'top' : top_offset };}function ebygum(eventobj) {	if(!eventobj || is_ie) {		window.event.cancelBubble = true;		return window.event;	} else {		if(eventobj.target.type == 'submit') {			eventobj.target.form.submit();		}		eventobj.stopPropagation();		return eventobj;	}}function menuoption_onclick_function(e) {	this.clickfunc();	hideMenu();}function menuoption_onclick_link(e) {	choose(e, this);}function menuoption_onmouseover(e) {	this.className = 'popupmenu_highlight';}function menuoption_onmouseout(e) {	this.className = 'popupmenu_option';}function choose(e, obj) {	var links = obj.getElementsByTagName('a');	if(links[0]) {		if(is_ie) {			links[0].click();			window.event.cancelBubble = true;		} else {			if(e.shiftKey) {				window.open(links[0].href);				e.stopPropagation();				e.preventDefault();			} else {				window.location = links[0].href;				e.stopPropagation();				e.preventDefault();			}		}		hideMenu();	}}

⌨️ 快捷键说明

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