-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathairmenu.min.js
29 lines (29 loc) · 6.85 KB
/
airmenu.min.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/**
* AIR responsive Menu # 1.73
* Door Ferry
*
* OPTIES (defaults)
* menuclass: ".hoofdmenu" (Vul hier de class van het menu in)
* menuclassresponsive: "responsivemenu" (Vul hier de class in van het responsive menu)
* menutrigger_class: ".menutrigger" (Vul hier de class in van de trigger die het menu laat insliden)
* menutrigger_icon: ".menutrigger" (Vul hier het icoon in voor de trigger)
* prepend_r: "body" (Hieraan wordt geprepend wanneer responsive)
* prepend_d: ".menu" (Hieraan wordt geprepend wanneer weer desktop)
* breekpunt: 768 (Vul het breekpunt in)
* tablet_breekpunt: 1024 (Vul het breekpunt in van de tablet. Dit zorgt voor extra uitzonderingen bovenop de desktop versie om de hover te verbeteren)
* snelheid : 400 (Snelheid van het openen)
* transition: "swing" (Transition)
* submenu_icon: icoon responsive submenu (responsivemenu-arrow-down2)
* animatie: true (Zet animatie aan of uit van desktop)
* menu_animatie: true (Zet animatie uit bij animeren van responsive menu)
* css: false (Als je zelf de functionaliteit van uitklappen voor submenu's wilt maken zet je deze op true)
* buiten_container_class: false (Toevoegen van een extra class zodat de hele website kan worden bewogen voor een sidemenu)
*
* CALLBACKS
* beforeSlideUp : null (Callback voordat het responsive menu dicht gaat) VOORBEELD : beforeSlideUp: function(){ alert("before-up"); }
* afterSlideUp : null (Callback nadat het responsive menu dicht is gegaan) VOORBEELD : afterSlideUp: function(){ alert("after-up"); }
* beforeSlideDown : null (Callback voordat het responsive menu open gaat) VOORBEELD : beforeSlideDown: function(){ alert("before-down"); }
* afterSlideDown : null (Callback nadat het responsive menu open is gegaan) VOORBEELD : afterSlideDown: function(){ alert("after-down"); }
*
*/
!function(e){e.fn.AIRmenu=function(n){var i=e.extend({menuclass:".hoofdmenu",menuclassresponsive:".responsivemenu hoofdmenu",menutrigger_class:".menutrigger",menutrigger_icon:"responsivemenu-bars",prepend_r:".responsivemenucontainer",prepend_d:".menucontainer",breekpunt:769,tablet_breekpunt:1024,snelheid:400,transition:"swing",submenu_icon:"responsivemenu-arrow-down2",animatie:!0,menu_animatie:!0,css:!1,beforeSlideUp:null,afterSlideUp:null,beforeSlideDown:null,afterSlideDown:null},n),s=i.menuclass,t=i.menuclassresponsive.replace(".",""),a=i.menutrigger_class,o=i.prepend_r,l=i.prepend_d,r=i.breekpunt,u=i.tablet_breekpunt,c=i.snelheid,d=i.transition,h=i.submenu_icon,p=!1,f=!1,m=!1,g=!1,v=i.animatie,b=i.menu_animatie,w=i.beforeSlideUp,k=i.afterSlideUp,C=i.beforeSlideDown,y=i.afterSlideDown,_=null,S=i.css;function D(){if(e(window).innerWidth()<=r){var n=s.replace(".","");e(s).prependTo(e(o)).addClass(t).removeClass("clearfix"),e("."+t).removeClass(n),e(".websitecontainer").length>0&&(e(".websitecontainer").removeClass("responsivemenu_geopend"),e(".responsiveoverlay").fadeIn())}else{n=s.replace(".","");e("."+t).addClass(n).addClass("clearfix").removeClass(t),e(s).prependTo(e(l)),e(".websitecontainer").length>0&&(e(".websitecontainer").removeClass("responsivemenu_geopend"),e(".responsiveoverlay").fadeIn())}}var T=function(){var n=e(window).innerWidth();function i(n){e(n).find("a").eq(0).on("click.disablelink",function(e){e.preventDefault()})}function t(n){e(n).find("a").eq(0).off("click.disablelink")}function o(n){e(n).one("click.airmenu",function(){t(n),e(s+" li").each(function(){"linked"===e(this).data("bound")&&(o(this),e(this).data("bound","broken"),e(this).unbind("click.airmenu"),t(this)),"broken"===e(this).data("bound")&&(i(this),o(this),e(this).data("bound","empty"))});var a=e(this);if(a.parent("ul").length){a.parent("ul").find("ul").each(function(){e(this).slideUp("fast").removeClass("opacitytransition"),e(this).css("height","auto")});var l=e(this).parent("ul"),r=e(this).parents("li");if(!l.hasClass(s.replace(".","")))return a.children("ul").length&&(a.children("ul").stop(!0).slideToggle("fast").toggleClass("opacitytransition"),e(a).data("bound","linked"),r.unbind("click.airmenu"),r.data("bound","linked"),t(this)),!1;e(s+" ul").slideUp("fast").removeClass("opacitytransition"),e(n).find("ul").eq(0).stop(!0).slideToggle("fast").toggleClass("opacitytransition"),e(n).data("bound","linked")}})}n<=r&&!f?(e(a).show(),e(s).hide(),e(s+" ul").css("height","auto").hide(),e(s+" li").each(function(){e(this).off("mouseenter.airmenu"),e(this).off("mouseleave.airmenu"),1==e(this).has("ul").length&&(i(this),o(this),e(this).hasClass("actief")&&(e(this).find("ul").eq(0).show().toggleClass("opacitytransition"),e(this).unbind("click.airmenu"),e(this).data("bound","linked"),t(this)))}),f=!0,g=!1):n>r&&!g&&(e(s).show(),e(a).hide(),!0===S||e(s+" li ul").hide().removeClass("opacitytransition"),e(s+" li").each(function(){e(this).off("click.airmenu"),e(this).off("click.disablelink"),e(this).on("mouseenter.airmenu",function(){if(e(this).children("ul").length){var n=e(this).find("ul").eq(0);e(this).find("ul").css("height","auto"),!0===S||(!0===v?n.stop(!0).slideDown("fast").addClass("opacitytransition"):n.stop(!0).show().addClass("opacitytransition"))}}),e(this).on("mouseleave.airmenu",function(){!0===S||e(this).find("ul").stop(!0).hide().removeClass("opacitytransition")})}),f=!1,g=!0);var l;msGesture=window.navigator&&window.navigator.msPointerEnabled&&window.MSGesture,touchSupport="ontouchstart"in window||msGesture||window.DocumentTouch&&document instanceof DocumentTouch,touchSupport?(l=n)<=u&&l>r&&!p?(e(s+" li").each(function(){1==e(this).has("ul").length&&(e(this).find("a").eq(0).addClass("tablethover"),e(this).off("mouseenter.airmenu"),e(this).off("mouseleave.airmenu"),i(this),o(this))}),p=!0,m=!1):l>u&&l<r&&!m?(e(s+" li").each(function(){e(this).off("click.airmenu"),e(this).off("click.disablelink"),e(this).on("mouseenter.airmenu",function(){if(e(this).children("ul").length){var n=e(this).find("ul").eq(0);e(this).find("ul").css("height","auto"),!0===S||(!0===v?n.stop(!0).slideDown("fast").addClass("opacitytransition"):n.stop(!0).show().addClass("opacitytransition"))}}),e(this).on("mouseleave.airmenu",function(){!0===S||e(this).find("ul").stop(!0).hide().removeClass("opacitytransition")})}),p=!1,m=!0):l<u&&l<r&&!m&&(p=!1,m=!0):n>r&&e(s+" li").each(function(){t(this)})};e(o).prepend("\x3c!-- AIRmenu --\x3e"),e(l).prepend("\x3c!-- AIRmenu --\x3e"),e(s+" li").each(function(){1==e(this).has("ul").length&&e(this).append('<span class="submenuarrow '+h+'"></span>')}),D(),e(a).click(function(){!0===b?(e(s).toggleClass("responsiveuitgeklapt"),e(s).hasClass("responsiveuitgeklapt")?(_=y,e.isFunction(C)&&C.call(this)):(_=k,e.isFunction(w)&&w.call(this)),e(s).slideToggle(c,d,_),e(".websitecontainer").length>0&&e(".websitecontainer").toggleClass("responsivemenu_geopend")):(e(s).toggle(),e(".websitecontainer").length>0&&e(".websitecontainer").toggleClass("responsivemenu_geopend")),e("html, body").animate({scrollTop:0},400)}),T(),e(window).resize(function(){T(),D()})}}(jQuery);