diff options
Diffstat (limited to 'lib/superfish')
| -rw-r--r-- | lib/superfish/css/superfish.css | 16 | ||||
| -rw-r--r-- | lib/superfish/images/arrows-ffffff-rtl.png | bin | 378 -> 0 bytes | |||
| -rw-r--r-- | lib/superfish/images/shadow.png | bin | 1698 -> 0 bytes | |||
| -rw-r--r-- | lib/superfish/js/superfish.js | 75 | 
4 files changed, 43 insertions, 48 deletions
| diff --git a/lib/superfish/css/superfish.css b/lib/superfish/css/superfish.css index cc33fdb4..3b21323e 100644 --- a/lib/superfish/css/superfish.css +++ b/lib/superfish/css/superfish.css @@ -57,6 +57,9 @@ ul.sf-menu li li li.sfHover ul {  	float:			left;  	margin-bottom:	1em;  } +.sf-menu ul { +	box-shadow: 2px 2px 6px rgba(0,0,0,.2); +}  .sf-menu a {  	border-left:	1px solid #fff;  	border-top:		1px solid #CFDEFF; @@ -121,16 +124,3 @@ li.sfHover > a > .sf-sub-indicator {  .sf-menu ul li.sfHover > a > .sf-sub-indicator {  	background-position: -10px 0; /* arrow hovers for modern browsers*/  } - -/*** shadows for all but IE6 ***/ -.sf-shadow ul { -	background:	url('../images/shadow.png') no-repeat bottom right; -	padding: 0 8px 9px 0; -	-moz-border-radius-bottomleft: 17px; -	-moz-border-radius-topright: 17px; -	-webkit-border-top-right-radius: 17px; -	-webkit-border-bottom-left-radius: 17px; -} -.sf-shadow ul.sf-shadow-off { -	background: transparent; -} diff --git a/lib/superfish/images/arrows-ffffff-rtl.png b/lib/superfish/images/arrows-ffffff-rtl.pngBinary files differ deleted file mode 100644 index 2fe14a36..00000000 --- a/lib/superfish/images/arrows-ffffff-rtl.png +++ /dev/null diff --git a/lib/superfish/images/shadow.png b/lib/superfish/images/shadow.pngBinary files differ deleted file mode 100644 index c04d21b7..00000000 --- a/lib/superfish/images/shadow.png +++ /dev/null diff --git a/lib/superfish/js/superfish.js b/lib/superfish/js/superfish.js index c6a9c7de..45d2e9a6 100644 --- a/lib/superfish/js/superfish.js +++ b/lib/superfish/js/superfish.js @@ -1,13 +1,12 @@  /* - * Superfish v1.4.8 - jQuery menu widget - * Copyright (c) 2008 Joel Birch + * Superfish v1.5.1 - jQuery menu widget + * Copyright (c) 2013 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   * - * CHANGELOG: http://users.tpg.com.au/j_birch/plugins/superfish/changelog.txt   */  ;(function($){ @@ -15,8 +14,8 @@  		var sf = $.fn.superfish,  			c = sf.c, -			$arrow = $(['<span class="',c.arrowClass,'"> »</span>'].join('')), -			over = function(){ +			$arrow = $('<span class="'+c.arrowClass+'"> »</span>'), +			over = function(e){  				var $$ = $(this), menu = getMenu($$);  				clearTimeout(menu.sfTimer);  				$$.showSuperfishUl().siblings().hideSuperfishUl(); @@ -27,59 +26,67 @@  				menu.sfTimer=setTimeout(function(){  					o.retainPath=($.inArray($$[0],o.$path)>-1);  					$$.hideSuperfishUl(); -					if (o.$path.length && $$.parents(['li.',o.hoverClass].join('')).length<1){over.call(o.$path);} +					if (o.$path.length && $$.parents('li.'+o.hoverClass).length<1){ +						o.onIdle.call(this); +						over.call(o.$path); +					}  				},o.delay);	  			}, -			getMenu = function($menu){ -				var menu = $menu.parents(['ul.',c.menuClass,':first'].join(''))[0]; +			getMenu = function($child){ +				if ($child.hasClass(c.menuClass)){ +					$.error('Superfish requires you to update to a version of hoverIntent that supports event-delegation, such as this one: https://github.com/joeldbirch/onHoverIntent'); +				} +				var menu = $child.closest('.'+c.menuClass)[0];  				sf.op = sf.o[menu.serial];  				return menu;  			}, +			applyHandlers = function($menu){ +				var targets = 'li:has(ul)'; +				if ($.fn.hoverIntent && !sf.op.disableHI){ +					$menu.hoverIntent(over, out, targets); +				} else { +					$menu.on('mouseenter', targets, over); +					$menu.on('mouseleave', targets, out); +				} +				$menu.on('focusin', targets, over); +				$menu.on('focusout', targets, out); +			},  			addArrow = function($a){ $a.addClass(c.anchorClass).append($arrow.clone()); }; -		return this.each(function() { +		return this.addClass(c.menuClass).each(function() {  			var s = this.serial = sf.o.length;  			var o = $.extend({},sf.defaults,op); -			o.$path = $('li.'+o.pathClass,this).slice(0,o.pathLevels).each(function(){ -				$(this).addClass([o.hoverClass,c.bcClass].join(' ')) +			var $$ = $(this); +			o.$path = $$.find('li.'+o.pathClass).slice(0,o.pathLevels).each(function(){ +				$(this).addClass(o.hoverClass+' '+c.bcClass)  					.filter('li:has(ul)').removeClass(o.pathClass);  			});  			sf.o[s] = sf.op = o; -			$('li:has(ul)',this)[($.fn.hoverIntent && !o.disableHI) ? 'hoverIntent' : 'hover'](over,out).each(function() { -				if (o.autoArrows) addArrow( $('>a:first-child',this) ); +			applyHandlers($$); +			 +			$$.find('li:has(ul)').each(function() { +				if (o.autoArrows) { +					addArrow( $('>a:first-child',this) ); +				}  			})  			.not('.'+c.bcClass)  				.hideSuperfishUl(); -			var $a = $('a',this); -			$a.each(function(i){ -				var $li = $a.eq(i).parents('li'); -				$a.eq(i).focus(function(){over.call($li);}).blur(function(){out.call($li);}); -			});  			o.onInit.call(this); -		}).each(function() { -			var menuClasses = [c.menuClass]; -			if (sf.op.dropShadows  && !($.browser.msie && $.browser.version < 7)) menuClasses.push(c.shadowClass); -			$(this).addClass(menuClasses.join(' '));  		});  	};  	var sf = $.fn.superfish;  	sf.o = [];  	sf.op = {}; -	sf.IE7fix = function(){ -		var o = sf.op; -		if ($.browser.msie && $.browser.version > 6 && o.dropShadows && o.animation.opacity!=undefined) -			this.toggleClass(sf.c.shadowClass+'-off'); -		}; +  	sf.c = {  		bcClass     : 'sf-breadcrumb',  		menuClass   : 'sf-js-enabled',  		anchorClass : 'sf-with-ul', -		arrowClass  : 'sf-sub-indicator', -		shadowClass : 'sf-shadow' +		arrowClass  : 'sf-sub-indicator'  	};  	sf.defaults = {  		hoverClass	: 'sfHover', @@ -89,31 +96,29 @@  		animation	: {opacity:'show'},  		speed		: 'normal',  		autoArrows	: true, -		dropShadows : true,  		disableHI	: false,		// true disables hoverIntent detection  		onInit		: function(){}, // callback functions  		onBeforeShow: function(){},  		onShow		: function(){}, -		onHide		: function(){} +		onHide		: function(){}, +		onIdle		: function(){}  	};  	$.fn.extend({  		hideSuperfishUl : function(){  			var o = sf.op,  				not = (o.retainPath===true) ? o.$path : '';  			o.retainPath = false; -			var $ul = $(['li.',o.hoverClass].join(''),this).add(this).not(not).removeClass(o.hoverClass) +			var $ul = $('li.'+o.hoverClass,this).add(this).not(not).removeClass(o.hoverClass)  					.find('>ul').hide().css('visibility','hidden');  			o.onHide.call($ul);  			return this;  		},  		showSuperfishUl : function(){  			var o = sf.op, -				sh = sf.c.shadowClass+'-off',  				$ul = this.addClass(o.hoverClass)  					.find('>ul:hidden').css('visibility','visible'); -			sf.IE7fix.call($ul);  			o.onBeforeShow.call($ul); -			$ul.animate(o.animation,o.speed,function(){ sf.IE7fix.call($ul); o.onShow.call($ul); }); +			$ul.animate(o.animation,o.speed,function(){ o.onShow.call($ul); });  			return this;  		}  	}); | 
