Advertisement
englishextra

jquery.mmenu.fixed.min.js

Mar 3rd, 2014
174
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*!
  2.  * pastebin.com/wxU1zMgj
  3.  */
  4. (function(d){function z(a,b){if(b){if("boolean"!=typeof a.isMenu){var c=b.children();a.isMenu=1==c.length&&c.is("ul")}return a}if("string"==typeof a)switch(a){case "top":case "right":case "bottom":case "left":a={position:a}}"object"!=typeof a&&(a={});"boolean"==typeof a.onClick?a.onClick={close:a.onClick}:"object"!=typeof a.onClick&&(a.onClick={});a=d.extend(!0,{},d.fn.mmenu.defaults,a);if(d.fn.mmenu.useOverflowScrollingFallback())switch(a.position){case "top":case "bottom":d.fn.mmenu.debug('position: "'+ a.position+'" not possible when using the overflowScrolling-fallback.'),a.position="left"}return a}function K(a){"object"!=typeof a&&(a={});a=d.extend(!0,{},d.fn.mmenu.configuration,a);"string"!=typeof a.pageSelector&&(a.pageSelector="> "+a.pageNodetype);return a}function A(a,b){a||(a=d(b.pageSelector,s),1<a.length&&(d.fn.mmenu.debug("Multiple nodes found for the page-node, all nodes are wrapped in one <div>."),a=a.wrapAll("<"+b.pageNodetype+" />").parent()));a.addClass(c.page);return a}function L(a, b,f){a.contents().each(function(){3==d(this)[0].nodeType&&d(this).remove()});f.clone&&(a=a.clone(!0),a.add(a.find("*")).filter("[id]").each(function(){d(this).attr("id",g(d(this).attr("id")))}));0==a.find("> ."+c.inner).length&&a.wrapInner('<div class="'+c.inner+'" />');a.prependTo("body").addClass(c.menu);"left"!=b.position&&a.addClass(g(b.position));"back"!=b.zposition&&a.addClass(g(b.zposition));b.isMenu&&(a.addClass(c.ismenu),d("li."+f.selectedClass,a).removeClass(f.selectedClass).addClass(c.selected), d("li."+f.labelClass,a).removeClass(f.labelClass).addClass(c.label));return a}function M(a,b,f){a.addClass(g(b));d("ul ul",a).addClass(c.submenu).each(function(a){var e=d(this),h=e.parent(),p=h.find("> a, > span"),k=h.parent(),l=e.attr("id")||g("s"+f+"-"+a);e.data(n.parent,h);h.data(n.sub,e);e.attr("id",l);h=d('<a class="'+c.subopen+'" href="#'+l+'" />').insertBefore(p);p.is("a")||h.addClass(c.fullsubopen);"horizontal"==b&&(l=k.attr("id")||g("p"+f+"-"+a),k.attr("id",l),e.prepend('<li class="'+c.subtitle+ '"><a class="'+c.subclose+'" href="#'+l+'">'+p.text()+"</a></li>"))});if("horizontal"==b){var e=d("li."+c.selected,a);e.add(e.parents("li")).parents("li").removeClass(c.selected).end().each(function(){var a=d(this),b=a.find("> ul");b.length&&(a.parent().addClass(c.subopened),b.addClass(c.opened))}).parent().addClass(c.opened).parents("ul").addClass(c.subopened);d("ul."+c.opened,a).length||d("ul",a).not("."+c.submenu).addClass(c.opened);d("ul ul",a).appendTo(a.find("> ."+c.inner))}else d("li."+c.selected, a).addClass(c.opened).parents("."+c.selected).removeClass(c.selected)}function N(a,b,f){a||(a=d('<div id="'+c.blocker+'" />').appendTo(s));r(a,function(){l.hasClass(c.modal)||b.trigger(e.close)},!0,!0);return a}function O(a,b,f,h){var w=d("li",a).off(e.setSelected).on(e.setSelected,function(a){a.stopPropagation();w.removeClass(c.selected);d(this).addClass(c.selected)}),g=d("a",a).not("."+c.subopen).not("."+c.subclose).not('[target="_blank"]');r(g,function(){var h=d(this),p=h.attr("href");x(b.setSelected, h)&&h.parent().trigger(e.setSelected);x(b.blockUI,h,"#"!=p.slice(0,1))&&l.addClass(c.blocking);var w="function"==typeof b.callback,g=function(){b.callback.call(h[0])};close=x(b.close,h);delayLocationHref=x(b.delayLocationHref,h);setLocationHref=x(b.setLocationHref,h,"#"!=p);setLocationHrefFn=function(){window.location.href=h[0].href};p=!1;close&&(setLocationHref&&(delayLocationHref?u(m,setLocationHrefFn,f.transitionDuration):setLocationHrefFn()),w&&u(m,g,f.transitionDuration),p=a.triggerHandler(e.close)); close&&p||(setLocationHref&&setLocationHrefFn(),w&&g())});h?(r(d("a."+c.subopen,a),function(){var a=d(this).parent().data(n.sub);a&&a.trigger(e.open)}),r(d("a."+c.subclose,a),function(){d(this).parent().parent().trigger(e.close)})):r(d("a."+c.subopen,a),function(){var a=d(this).parent().data(n.sub);a&&a.trigger(e.toggle)})}function B(a,b,c){var h=a.attr("id");h&&h.length&&(c.clone&&(h=P(h)),r(d('a[href="#'+h+'"]'),function(){a.trigger(e.toggle)}));(h=b.attr("id"))&&h.length&&r(d('a[href="#'+h+'"]'), function(){a.trigger(e.close)},!1,!0)}function Q(a,b,c){C(a,b,c);setTimeout(function(){D(a,b,c)},10);return"open"}function C(a,b,f){var h;t||(0!=l.scrollTop()?t=l:0!=s.scrollTop()&&(t=s));h=t?t.scrollTop():0;a.data(n.opened,!0);y.not(a).trigger(e.close);m.data(n.style,m.attr("style")||"").data(n.scrollTop,h).data(n.offetLeft,m.offset().left);var w=0;q.off(e.resize).on(e.resize,function(a,b){if(l.hasClass(c.opened)||b){var d=q.width();d!=w&&(w=d,m.width(d-m.data(n.offetLeft)))}}).trigger(e.resize, [!0]);if(d.fn.mmenu.useIphoneAddressbarFix()&&20<h)q.off(e.scroll).on(e.scroll,function(a,b){if(l.hasClass(c.opened)||b)a.preventDefault(),a.stopImmediatePropagation(),window.scrollTo(0,1)});if(f.preventTabbing)q.off(e.keydown).on(e.keydown,function(a){if(9==a.keyCode)return a.preventDefault(),!1});f.hardwareAcceleration&&l.addClass(c.accelerated);b.modal&&l.addClass(c.modal);"left"!=b.position&&l.addClass(g(b.position));"back"!=b.zposition&&l.addClass(g(b.zposition));b.moveBackground&&l.addClass(c.background); l.addClass(c.opened);a.addClass(c.opened);m.scrollTop(h);a.scrollTop(0)}function D(a,b,f){u(m,function(){a.trigger(e.opened)},f.transitionDuration);d.fn.mmenu.useIphoneAddressbarFix()&&20<m.data(n.scrollTop)&&window.scrollTo(0,1);l.addClass(c.opening);a.trigger(e.opening)}function E(a,b,d){u(m,function(){a.removeClass(c.opened);l.removeClass(c.opened).removeClass(c.modal).removeClass(c.background).removeClass(c.accelerated).removeClass(g(b.position)).removeClass(g(b.zposition));q.off(e.resize).off(e.scroll); m.attr("style",m.data(n.style));t&&t.scrollTop(m.data(n.scrollTop));a.trigger(e.closed)},d.transitionDuration);l.removeClass(c.opening);q.off(e.keydown);a.data(n.opened,!1);a.trigger(e.closing);return"close"}function R(a,b,d,e){if(!a.hasClass(c.opened))return!1;if(d=a.data(n.parent))u(b,function(){a.removeClass(c.opened)},e.transitionDuration),d.parent().removeClass(c.subopened);return"close"}function u(a,b,c){var h=d.fn.mmenu.support.transition;if("webkitTransition"==h)a.one("webkitTransitionEnd", b);else if(h)a.one(e.transitionend,b);else setTimeout(b,c)}function F(a,d,c){a<d&&(a=d);a>c&&(a=c);return a}function x(a,d,c){return"function"==typeof a?a.call(d[0]):"undefined"==typeof a&&"undefined"!=typeof c?c:a}function r(a,c,f,h){"string"==typeof a&&(a=d(a));f=f?d.fn.mmenu.support.touch?e.touchstart:e.mousedown:e.click;h||a.off(f);a.on(f,function(a){a.preventDefault();a.stopPropagation();c.call(this,a)})}function g(a){return"mm-"+a}function P(a){"mm-"==a.slice(0,3)&&(a=a.slice(3));return a}function k(a){return a+ ".mm"}var q=null,l=null,s=null,m=null,G=null,y=null,t=null,c,e,n;d.fn.mmenu=function(a,b){q||(q=d(window),l=d("html"),s=d("body"),y=d(),c={menu:g("menu"),ismenu:g("is-menu"),inner:g("inner"),page:g("page"),blocker:g("blocker"),blocking:g("blocking"),modal:g("modal"),background:g("background"),opened:g("opened"),opening:g("opening"),submenu:g("submenu"),subopen:g("subopen"),fullsubopen:g("fullsubopen"),subclose:g("subclose"),subopened:g("subopened"),subtitle:g("subtitle"),selected:g("selected"),label:g("label"), noresult:g("noresult"),noresults:g("noresults"),nosubresult:g("nosubresult"),search:g("search"),counter:g("counter"),accelerated:g("accelerated"),dragging:g("dragging"),nooverflowscrolling:g("no-overflowscrolling"),iphoneaddressbar:g("iphone-addressbar")},e={toggle:k("toggle"),open:k("open"),close:k("close"),search:k("search"),reset:k("reset"),keyup:k("keyup"),change:k("change"),keydown:k("keydown"),count:k("count"),resize:k("resize"),opening:k("opening"),opened:k("opened"),closing:k("closing"),closed:k("closed"), setPage:k("setPage"),setSelected:k("setSelected"),transitionend:k("transitionend"),touchstart:k("touchstart"),mousedown:k("mousedown"),click:k("click"),scroll:k("scroll"),dragleft:k("dragleft"),dragright:k("dragright"),dragup:k("dragup"),dragdown:k("dragdown"),dragend:k("dragend")},n={opened:"mm-opened",options:"mm-options",parent:"mm-parent",sub:"mm-sub",style:"mm-style",scrollTop:"mm-scrollTop",offetLeft:"mm-offetLeft"},d.fn.mmenu.useOverflowScrollingFallback(H),d.fn.mmenu.useIphoneAddressbarFix(I)); a=z(a);b=K(b);return this.each(function(){var f=d(this);y=y.add(f);var h=z(a,f),g=b;f.data(n.options,h).data(n.opened,!1);var l=h.slidingSubmenus?"horizontal":"vertical";J++;m=A(m,g);f=L(f,h,g);G=N(G,f,g);h.isMenu&&(M(f,l,J),O(f,h.onClick,g,h.slidingSubmenus));B(f,m,g);h.isMenu&&(d.fn.mmenu.counters(f,h.counters,g),d.fn.mmenu.search(f,h.searchfield,g));d.fn.mmenu.dragOpen(f,h.dragOpen,g);var k=f.find("ul");f.add(k).off(e.toggle+" "+e.open+" "+e.close).on(e.toggle+" "+e.open+" "+e.close,function(a){a.stopPropagation()}); f.on(e.toggle,function(a){return f.triggerHandler(f.data(n.opened)?e.close:e.open)}).on(e.open,function(a){return f.data(n.opened)?(a.stopImmediatePropagation(),!1):Q(f,h,g)}).on(e.close,function(a){return f.data(n.opened)?E(f,h,g):(a.stopImmediatePropagation(),!1)}).off(e.setPage).on(e.setPage,function(a,c){m=A(c,g);B(f,m,g);d.fn.mmenu.dragOpen(f,h.dragOpen,g)});if("horizontal"==l)k.on(e.toggle,function(a){return d(this).triggerHandler(e.open)}).on(e.open,function(a){a=d(this);a.hasClass(c.opened)? a=!1:(a.removeClass(c.subopened).addClass(c.opened),(a=a.data(n.parent))&&a.parent().addClass(c.subopened),a="open");return a}).on(e.close,function(a){return R(d(this),f,h,g)});else k.on(e.toggle,function(a){a=d(this);return a.triggerHandler(a.parent().hasClass(c.opened)?e.close:e.open)}).on(e.open,function(a){d(this).parent().addClass(c.opened);return"open"}).on(e.close,function(a){d(this).parent().removeClass(c.opened);return"close"})})};d.fn.mmenu.defaults={position:"left",zposition:"back",moveBackground:!0, slidingSubmenus:!0,modal:!1,onClick:{close:!0,setSelected:!0,delayLocationHref:!0}};d.fn.mmenu.configuration={preventTabbing:!0,hardwareAcceleration:!0,selectedClass:"Selected",labelClass:"Label",counterClass:"Counter",pageNodetype:"div",transitionDuration:400,dragOpen:{pageMaxDistance:500,pageMinVisible:65}};d.fn.mmenu.search=function(a,b,f){"boolean"==typeof b?b={add:b,search:b}:"string"==typeof search&&(b={add:!0,search:!0,placeholder:b});"object"!=typeof b&&(b={});b=d.extend(!0,{},d.fn.mmenu.search.defaults, b);b.add&&(f=d('<div class="'+c.search+'" />').prependTo(a.find("> ."+c.inner)),f.append('<input placeholder="'+b.placeholder+'" type="text" autocomplete="off" />'),b.noResults&&d("ul",a).not("."+c.submenu).append('<li class="'+c.noresults+'">'+b.noResults+"</li>"));if(b.search){f=d("div."+c.search,a);var h=d("input",f),g=d("li."+c.label,a),l=d("em."+c.counter,a),k=d("li",a).not("."+c.subtitle).not("."+c.label).not("."+c.noresults),m="> a";b.showLinksOnly||(m+=", > span");h.off(e.keyup+" "+e.change).on(e.keyup, function(a){a:{switch(a.keyCode){case 9:case 16:case 17:case 18:case 37:case 38:case 39:case 40:a=!0;break a}a=!1}a||h.trigger(e.search)}).on(e.change,function(a){h.trigger(e.search)});a.off(e.reset+" "+e.search).on(e.reset+" "+e.search,function(a){a.stopPropagation()}).on(e.reset,function(c){h.val("");a.trigger(e.search)}).on(e.search,function(b,f){"string"==typeof f?h.val(f):f=h.val();f=f.toLowerCase();k.add(g).addClass(c.noresult);k.each(function(){var a=d(this);-1<d(m,a).text().toLowerCase().indexOf(f)&& a.add(a.prevAll("."+c.label).first()).removeClass(c.noresult)});d(d("ul."+c.submenu,a).get().reverse()).each(function(){var a=d(this),b=a.data(n.parent);a.attr("id");a.find("li").not("."+c.subtitle).not("."+c.label).not("."+c.noresult).length?b&&b.removeClass(c.noresult).removeClass(c.nosubresult).prevAll("."+c.label).first().removeClass(c.noresult):(a.trigger(e.close),b&&b.addClass(c.nosubresult))});a[k.not("."+c.noresult).length?"removeClass":"addClass"](c.noresults);l.trigger(e.count)})}};d.fn.mmenu.search.defaults= {add:!1,search:!0,showLinksOnly:!0,placeholder:"\u041d\u0430\u0439\u0442\u0438",noResults:""};d.fn.mmenu.counters=function(a,b,f){"boolean"==typeof b&&(b={add:b,count:b});"object"!=typeof b&&(b={});b=d.extend(!0,{},d.fn.mmenu.counters.defaults,b);d("em."+f.counterClass,a).removeClass(f.counterClass).addClass(c.counter);b.add&&d("."+c.submenu,a).each(function(){var b=d(this).attr("id");if(b&&b.length){var e=d('<em class="'+c.counter+'" />'),b=d("a."+c.subopen,a).filter('[href="#'+b+'"]');b.parent().find("em."+ c.counter).length||b.before(e)}});b.count&&d("em."+c.counter,a).each(function(){var b=d(this),f=d("ul"+b.next().attr("href"),a);b.off(e.count).on(e.count,function(a){a.stopPropagation();a=f.children().not("."+c.label).not("."+c.subtitle).not("."+c.noresult).not("."+c.noresults);b.html(a.length)})}).trigger(e.count)};d.fn.mmenu.counters.defaults={add:!1,count:!0};d.fn.mmenu.dragOpen=function(a,b,f){var h,g,k,q,p;if(!d.fn.hammer)return!1;"boolean"==typeof b&&(b={open:b});"object"!=typeof b&&(b={}); b=d.extend(!0,{},d.fn.mmenu.dragOpen.defaults,b);if(b.open){var r=!1,t=!1,s=0,u=0,v=a.data(n.options);switch(v.position){case "left":h=e.dragleft+" "+e.dragright;g="right";k="left";q="deltaX";p=!1;break;case "right":h=e.dragleft+" "+e.dragright;g="left";k="right";q="deltaX";p=!0;break;case "top":h=e.dragup+" "+e.dragdown;g="down";k="up";q="deltaY";p=!1;break;case "bottom":h=e.dragup+" "+e.dragdown,g="up",k="down",q="deltaY",p=!0}$dragNode=x(b.pageNode,a,m);"string"==typeof $dragNode&&($dragNode=d($dragNode)); $dragNode.hammer().on(h+" "+e.dragend,function(a){a.gesture.preventDefault();a.stopPropagation()}).on(h,function(e){e=p?-e.gesture[q]:e.gesture[q];t=e>s?g:k;s=e;if(s>b.threshold&&!r){if(l.hasClass(c.opened))return;r=!0;C(a,v,f);l.addClass(c.dragging);switch(v.position){case "left":case "right":u=F(d(window).width(),0,f.dragOpen.pageMaxDistance)-f.dragOpen.pageMinVisible;break;default:u=d(window).height()-f.dragOpen.pageMinVisible}}if(r){e=m;switch(v.zposition){case "front":e=a;break;case "next":e= e.add(a)}e.css("margin-"+v.position,F(s,10,u))}}).on(e.dragend,function(b){if(r){r=!1;b=m;switch(v.zposition){case "front":b=a;break;case "next":b=b.add(a)}b.css("margin-"+v.position,"");l.removeClass(c.dragging);t==g?D(a,v,f):E(a,v,f)}})}};d.fn.mmenu.dragOpen.defaults={open:!1,threshold:50};(function(){var a=window.document,b=window.navigator.userAgent,c="ontouchstart"in a,a="WebkitOverflowScrolling"in a.documentElement.style,e=function(){var a=document.createElement("div").style;return"webkitTransition"in a?"webkitTransition":"transition"in a}(),g;g=0<=b.indexOf("Android")?2.4>parseFloat(b.slice(b.indexOf("Android")+8)):!1;d.fn.mmenu.support={touch:c,transition:e,oldAndroidBrowser:g,overflowscrolling:!c||a?!0:g?!1:!0,iPhoneAddressBar:function(){if(b.match(/iPhone/i)||b.match(/iPod/i)){if(b.match("CriOS")||window.navigator.standalone)return!1;var a=d('meta[name="viewport"]').attr("content");return a&&-1<a.indexOf("height=device-height")?!1:!0}return!1}()}})();d.fn.mmenu.useOverflowScrollingFallback= function(a){if(l){if("boolean"==typeof a)l[a?"addClass":"removeClass"](c.nooverflowscrolling);return l.hasClass(c.nooverflowscrolling)}return H=a};d.fn.mmenu.useIphoneAddressbarFix=function(a){if(l){if("boolean"==typeof a)l[a?"addClass":"removeClass"](c.iphoneaddressbar);return l.hasClass(c.iphoneaddressbar)}return I=a};d.fn.mmenu.debug=function(a){};d.fn.mmenu.deprecated=function(a,b){"undefined"!=typeof console&&"undefined"!=typeof console.warn&&console.warn("MMENU: "+a+" is deprecated, use "+b+ " instead.")};var J=0,H=!d.fn.mmenu.support.overflowscrolling,I=d.fn.mmenu.support.iPhoneAddressBar})(jQuery);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement