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

📄 supersubs.js

📁 能挡住下拉表单的CSS+JS下拉菜单。具体自己看效果
💻 JS
字号:
/* * Supersubs v0.2b - jQuery plugin * Copyright (c) 2008 Joel Birch * * Dual licensed under the MIT and GPL licenses: * 	http://www.opensource.org/licenses/mit-license.php * 	http://www.gnu.org/licenses/gpl.html * * * This plugin automatically adjusts submenu widths of suckerfish-style menus to that of * their longest list item children. If you use this, please expect bugs and report them * to the jQuery Google Group with the word 'Superfish' in the subject line. * */;(function($){ // $ will refer to jQuery within this closure	$.fn.supersubs = function(options){		var opts = $.extend({}, $.fn.supersubs.defaults, options);		// return original object to support chaining		return this.each(function() {			// cache selections			var $$ = $(this);			// support metadata			var o = $.meta ? $.extend({}, opts, $$.data()) : opts;			// get the font size of menu.			// .css('fontSize') returns various results cross-browser, so measure an em dash instead			var fontsize = $('<li id="menu-fontsize">&#8212;</li>').css({				'padding' : 0,				'position' : 'absolute',				'top' : '-999em',				'width' : 'auto'			}).appendTo($$).width(); //clientWidth is faster, but was incorrect here			// remove em dash			$('#menu-fontsize').remove();			// cache all ul elements			$ULs = $$.find('ul');			// loop through each ul in menu			$ULs.each(function(i) {					// cache this ul				var $ul = $ULs.eq(i);				// get all (li) children of this ul				var $LIs = $ul.children();				// get all anchor grand-children				var $As = $LIs.children('a');				// force content to one line and save current float property				var liFloat = $LIs.css('white-space','nowrap').css('float');				// remove width restrictions and floats so elements remain vertically stacked				var emWidth = $ul.add($LIs).add($As).css({					'float' : 'none',					'width'	: 'auto'				})				// this ul will now be shrink-wrapped to longest li due to position:absolute				// so save its width as ems. Clientwidth is 2 times faster than .width() - thanks Dan Switzer				.end().end()[0].clientWidth / fontsize;				// add more width to ensure lines don't turn over at certain sizes in various browsers				emWidth += o.extraWidth;				// restrict to at least minWidth and at most maxWidth				if (emWidth > o.maxWidth)		{ emWidth = o.maxWidth; }				else if (emWidth < o.minWidth)	{ emWidth = o.minWidth; }				emWidth += 'em';				// set ul to width in ems				$ul.css('width',emWidth);				// restore li floats to avoid IE bugs				// set li width to full width of this ul				// revert white-space to normal				$LIs.css({					'float' : liFloat,					'width' : '100%',					'white-space' : 'normal'				})				// update offset position of descendant ul to reflect new width of parent				.each(function(){					var $childUl = $('>ul',this);					var offsetDirection = $childUl.css('left')!==undefined ? 'left' : 'right';					$childUl.css(offsetDirection,emWidth);				});			});					});	};	// expose defaults	$.fn.supersubs.defaults = {		minWidth		: 9,		// requires em unit.		maxWidth		: 25,		// requires em unit.		extraWidth		: 0			// extra width can ensure lines don't sometimes turn over due to slight browser differences in how they round-off values	};	})(jQuery); // plugin code ends

⌨️ 快捷键说明

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