forked from sebnitu/HorizontalNav
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathjquery.horizontalNav.min.js
8 lines (8 loc) · 1.84 KB
/
jquery.horizontalNav.min.js
1
2
3
4
5
6
7
8
/**
* jQuery Horizontal Navigation 1.0
* https://github.com/sebnitu/horizontalNav
*
* By Sebastian Nitu - Copyright 2014 - All rights reserved
* Author URL: http://sebnitu.com
*/
;(function(e){e.fn.horizontalNav=function(t){"use strict";var n=e.extend({},e.fn.horizontalNav.defaults,t);return this.each(function(){function l(e){return e.innerWidth()-(parseInt(e.css("padding-left"))+parseInt(e.css("padding-right")))}function c(t,n){n=n||100;var r;e(window).resize(function(){clearTimeout(r);r=setTimeout(function(){t()},n)})}function h(){if(r.tableDisplay!=true||e.browser.msie&&parseInt(e.browser.version,10)<=7){s.css({"float":"left"});o.css({"float":"left",width:"auto"});f.css({"padding-left":0,"padding-right":0});var n=l(s),c=s.outerWidth(true),h=c-n,p=l(i),d=p-h-n,v=Math.floor(d/a);o.each(function(t){var n=l(e(this));e(this).css({width:n+v+"px"})});var m=l(u)+(p-h-l(s));if(e.browser.mozilla||e.browser.msie){m=m-1}u.css({width:m+"px"})}else{s.css({display:"table","float":"none",width:"100%"});o.css({display:"table-cell","float":"none"})}t.addClass("horizontalNav-processed").removeClass("horizontalNav-notprocessed")}var t=e(this);var r=e.meta?e.extend({},n,t.data()):n;if(t.is("ul")){var i=t.parent()}else{var i=t}var s=t.is("ul")?t:i.find("> ul"),o=s.find("> li"),u=o.last(),a=o.size(),f=o.find("> a");if(r.minimumItems&&r.minimumItems>a){t.addClass("horizontalNav-notprocessed");return false}if(r.responsive===true){if(r.tableDisplay!=true||e.browser.msie&&parseInt(e.browser.version,10)<=7){c(h,r.responsiveDelay)}}if(e(".clearHorizontalNav").length){i.css({zoom:"1"})}else{i.css({zoom:"1"}).append('<div class="clearHorizontalNav">');e(".clearHorizontalNav").css({display:"block",overflow:"hidden",visibility:"hidden",width:0,height:0,clear:"both"})}h()})};e.fn.horizontalNav.defaults={responsive:true,responsiveDelay:100,tableDisplay:true,minimumItems:0}})(jQuery)