PageSourceSearch

https://www.ville-horme.fr/wp-content/cache/min/1/wp-content/theme…/dist/js/jquery.fatmenu.js?ver=1790925845

js ville-horme.fr collected 2026-10-02 12:49:18 UTC 18,248 bytes, 50 lines download raw bytes

1(function($,window,document){'use strict';var animationend='animationend webkitAnimationEnd MSAnimationEnd oAnimationEnd',transitionend='transitionend webkitTransitionEnd MSTransitionEnd oTransitionEnd',debounce=function(callback,delay){var timer;return function(){var args=arguments;var context=this;clearTimeout(timer);timer=setTimeout(function(){callback.apply(context,args)},delay)}},throttle=function(callback,delay){var last;var timer;return function(){var context=this;var now=+new Date();var args=arguments;if(last&&now<last+delay){clearTimeout(timer);timer=setTimeout(function(){last=now;callback.apply(context,args)},delay)}else{last=now;callback.apply(context,args)}}},FatMenu={init:function(options,el){var FM=this;FM.$elem=$(el);FM.options=$.extend({},$.fn.FatMenu.options,FM.$elem.data(),options);FM.userOptions=options;FM.classes={group:'fm-group',layer:'fm-layer',breadcrumb:'fm-breadcrumb',overlay:'fm-overlay',trigger:'fm-trigger',triggerMain:'fm-main-trigger',triggerSearch:'fm-search-trigger',backButton:'fm-back-button',isMobile:'fm-is-mobile',isAnimate:'fm-is-animate',isOpen:'fm-is-open',isVisible:'fm-is-visible',isHidden:'fm-is-hidden'};FM.elems={wrapper:'.fm-wrapper',breadcrumbList:'.fm-breadcrumb ul',};FM.$breadcrumb=FM.$elem.find(FM.options.breadcrumbContainer);FM.$wrapper=FM.$elem.find(FM.options.wrapperContainer);FM.$body=$('body');FM.fullscreenMode=!1;FM.mobileMode=!1;FM.supportCssAnimation=!0;FM.options.searchLayer=FM.$elem.find('.'+FM.options.triggerSearchClass).attr('href');if(!FM.detectCSSFeature('animation')){FM.supportCssAnimation=!1}
2FM.onStartup()},onStartup:function(){var FM=this;FM.browserCheckCapability();FM.mobileInit();FM.triggerInit();FM.triggerListener();if(FM.options.fullscreen){FM.fullscreenMode=!0}else{FM.fullscreenMode=!1}
3if(FM.options.overlay&&!FM.fullscreenMode){FM.overlayInit()}
4FM.optionsInit();FM.mobileCheck();FM.layerInit();FM.screenHeightCheck();FM.resizeEvent();FM.scrollEvent()},scrollEvent:function(){var FM=this;$(window).on('scroll',debounce(function(event){FM.screenHeightCheck()},300))},resizeEvent:function(){var FM=this;var width=window.innerWidth,height=window.innerHeight;$(window).on('resize',debounce(function(event){var $window=$(window);if(window.innerWidth==width&&window.innerHeight==height)return;FM.screenHeightCheck();if(window.innerWidth==width)return;width=window.innerWidth;if(FM.$elem.find('.'+FM.options.visibleClass).length>0){FM.hidePanel(FM.$elem.find('.'+FM.options.visibleClass),'slideUp',!0);FM.breadcrumbReset();FM.overlayHide();FM.$elem.find('.fm-is-active').removeClass('fm-is-active')}
5FM.mobileCheck();FM.$elem.find('.fm-layer').removeAttr('data-height')},300))},browserCheckCapability:function(){if(!String.prototype.trim){String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,'')}}},detectCSSFeature:function(featurename){var feature=!1,domPrefixes='Webkit Moz ms O'.split(' '),elm=document.createElement('div'),featurenameCapital=null;featurename=featurename.toLowerCase();if(elm.style[featurename]!==undefined){feature=!0}
6if(feature===!1){featurenameCapital=featurename.charAt(0).toUpperCase()+featurename.substr(1);for(var i=0;i<domPrefixes.length;i++){if(elm.style[domPrefixes[i]+featurenameCapital]!==undefined){feature=!0;break}}}
7return feature},mobileCheck:function(){var FM=this;if(window.innerWidth<FM.options.mobileBreakpoint){FM.$elem.addClass(FM.options.mobileClass);FM.mobileMode=!0;FM.$body.addClass('fm-mobile-mode');FM.fullscreenMode=!1;FM.$elem.removeClass('fm-is-fullscreen')}else{FM.$elem.removeClass(FM.options.mobileClass);FM.mobileMode=!1;FM.$body.removeClass('fm-mobile-mode');if(FM.options.fullscreen){FM.fullscreenMode=!0;FM.$elem.addClass('fm-is-fullscreen')}}},mobileInit:function(){var FM=this,mainGroupElem=FM.$elem.find('.navbar-nav').find('li').clone(),mainNavDom='<div class="fm-group">'+'<div id="layer-main" class="fm-layer">'+'<div class="container"><ul class="fm-textlines"></ul></div>'+'</div>'+'</div>';FM.$wrapper.prepend(mainNavDom);var $layerMain=$('#layer-main');$layerMain.find('ul').html(mainGroupElem).find('a').addClass('fm-textline '+FM.options.triggerMainClass).wrapInner('<div class="fm-textline-title"></div>');FM.$elem.find('.navbar-header > button').removeAttr('data-toggle data-target').on('click',function(event){event.preventDefault();
7var $visibleLayer=FM.$wrapper.find('.'+FM.options.visibleClass);if($(this).hasClass('search-toggle')){if($visibleLayer.length>0&&$visibleLayer.attr('id')=='layer-search-engine'){FM.hidePanel($visibleLayer,'slideUp',!0);FM.overlayHide();return!1}else if($visibleLayer.length>0&&$visibleLayer.attr('id')!='layer-search-engine'){FM.hidePanel($visibleLayer,'slideUp',!1);FM.showPanel($('#layer-search-engine'),'slideDown');return!1}else{FM.showPanel($('#layer-search-engine'),'slideDown');FM.overlayShow();return!1}}else{if($visibleLayer.length>0){FM.hidePanel($visibleLayer,'slideUp',!0);FM.overlayHide();return!1}else{FM.showPanel($('#layer-main'),'slideDown');FM.overlayShow();return!1}}})},optionsInit:function(){var FM=this;$('.'+FM.options.overlayClass).on('click',function(event){event.preventDefault();FM.hidePanel(FM.$wrapper.find('.'+FM.options.visibleClass),'slideUp',!0);setTimeout(function(){FM.breadcrumbReset();FM.$elem.find('.fm-is-active').removeClass('fm-is-active')},FM.options.animationDuration);FM.overlayHide()});if(FM.fullscreenMode&&!FM.mobileMode){FM.$elem.addClass('fm-is-fullscreen')}
8if(FM.options.pushOnShow){FM.$elem.addClass('fm-pushOnShow')}},screenHeightCheck:function(){var FM=this;var $window=$(window),windowHeight=$window.height(),windowScrollTop=$window.scrollTop(),offset=FM.$elem.offset(),navbarHeight=FM.$elem.find('.navbar').outerHeight(),maxHeight=windowHeight-(offset.top-windowScrollTop)-navbarHeight;FM.$wrapper.css('max-height',maxHeight)},overlayInit:function(){var FM=this;FM.$body.append('<div class="'+FM.options.overlayClass+'"></div>')},overlayShow:function(){var FM=this;$('.'+FM.options.overlayClass).css('display','block')},overlayHide:function(){var FM=this;$('.'+FM.options.overlayClass).css('display','none')},layerInit:function(){var FM=this;FM.$elem.find('.fm-layer').addClass(FM.options.hiddenClass)},showPanel:function($layer,event){var FM=this;if(typeof $layer.attr('data-height')=='undefined'){$layer.attr('data-height',$layer.outerHeight())}
9var layerHeight=$layer.outerHeight();if(event=='slideDown'){FM.$body.addClass(FM.options.openMenuClass);if(FM.supportCssAnimation){$layer.addClass(FM.options.visibleClass+' fm-fadeInDown fm-is-animate').removeClass(FM.options.hiddenClass);if(FM.fullscreenMode){FM.$wrapper.css('height','auto').addClass('fm-is-animate')}else{FM.$wrapper.css('height',layerHeight).addClass('fm-is-animate')}
10setTimeout(function(){$layer.removeClass('fm-fadeInDown fm-is-animate');FM.$wrapper.removeClass('fm-is-animate')},FM.options.animationDuration)}else{$layer.addClass(FM.options.visibleClass).removeClass(FM.options.hiddenClass);if(FM.fullscreenMode){FM.$wrapper.css('height','auto')}else{FM.$wrapper.css('height',layerHeight)}}
11return!1}else if(event=='slideLeft'){if(FM.supportCssAnimation){$layer.addClass(FM.options.visibleClass+' fm-fadeInRight fm-is-animate').removeClass(FM.options.hiddenClass);if(FM.fullscreenMode){FM.$wrapper.css('height','auto').addClass('fm-is-animate')}else{FM.$wrapper.css('height',layerHeight).addClass('fm-is-animate')}
12setTimeout(function(){$layer.removeClass('fm-fadeInRight fm-is-animate');FM.$wrapper.removeClass('fm-is-animate')},FM.options.animationDuration)}else{$layer.removeClass(FM.options.hiddenClass).addClass(FM.options.visibleClass);if(FM.fullscreenMode){FM.$wrapper.css('height','auto')}else{FM.$wrapper.css('height',layerHeight)}}
13return!1}else if(event=='slideRight'){if(FM.supportCssAnimation){$layer.addClass(FM.options.visibleClass+' fm-fadeInLeft fm-is-animate').removeClass(FM.options.hiddenClass);if(FM.fullscreenMode){FM.$wrapper.css('height','auto').addClass('fm-is-animate')}else{FM.$wrapper.css('height',layerHeight).addClass('fm-is-animate')}
14setTimeout(function(){$layer.removeClass('fm-fadeInLeft fm-is-animate');FM.$wrapper.removeClass('fm-is-animate')},FM.options.animationDuration)}else{$layer.addClass(FM.options.visibleClass).removeClass(FM.options.hiddenClass);if(FM.fullscreenMode){FM.$wrapper.css('height','auto')}else{FM.$wrapper.css('height',layerHeight)}}
15return!1}},hidePanel:function($layer,event,lastAction){var FM=this;lastAction=typeof lastAction!=='undefined'?lastAction:!1;if(lastAction){if(FM.supportCssAnimation){setTimeout(function(){FM.$body.removeClass(FM.options.openMenuClass);FM.$elem.removeAttr('data-open data-open-id')},FM.options.animationDuration)}else{FM.$body.removeClass(FM.options.openMenuClass)}}
16if(event=='slideUp'){if(FM.supportCssAnimation){$layer.addClass('fm-fadeOutUp fm-is-animate');FM.$wrapper.css('height','0');setTimeout(function(){$layer.removeClass('fm-fadeOutUp fm-is-animate '+FM.options.visibleClass).addClass(FM.options.hiddenClass)},FM.options.animationDuration)}else{FM.$wrapper.css('height','0');$layer.addClass(FM.options.hiddenClass).removeClass(FM.options.visibleClass)}
17return!1}else if(event=='slideLeft'){if(FM.supportCssAnimation){$layer.addClass('fm-fadeOutLeft fm-is-animate');setTimeout(function(){$layer.removeClass(FM.options.visibleClass+' fm-fadeOutLeft fm-is-animate').addClass(FM.options.hiddenClass)},FM.options.animationDuration)}else{$layer.addClass(FM.options.hiddenClass).removeClass(FM.options.visibleClass)}
18return!1}else if(event=='slideRight'){if(FM.supportCssAnimation){$layer.addClass('fm-fadeOutRight fm-is-animate');setTimeout(function(){$layer.removeClass(FM.options.visibleClass+' fm-fadeOutRight fm-is-animate').addClass(FM.options.hiddenClass)},FM.options.animationDuration)}else{$layer.addClass(FM.options.hiddenClass).removeClass(FM.options.visibleClass)}
19return!1}else if(event=='slideLeftMobile'){if(FM.supportCssAnimation){$layer.addClass('fm-fadeOutLeft fm-is-animate');setTimeout(function(){$layer.removeClass(FM.options.visibleClass+' fm-fadeOutLeft fm-is-animate').addClass(FM.options.hiddenClass)},FM.options.animationDuration)}else{$layer.addClass(FM.options.hiddenClass).removeClass(FM.options.visibleClass)}
20return!1}},breadcrumbAdd:function($elem){var FM=this,layerName=$elem[0].getAttribute('data-name'),layerId=$elem.attr('id'),$trig;if(FM.mobileMode||FM.fullscreenMode){return!1}
21if(!layerName&&layerId){$trig=FM.$elem.find('.'+FM.options.triggerClass+'[href="#'+layerId+'"]').filter(function(){return $(this).closest('.'+FM.options.breadcrumbClass).length===0}).first();if($trig.length){layerName=$trig.find('.fm-textline-title').first().text().trim();if(!layerName){layerName=$trig.find('[class*="-title"]').first().text().trim()}
22if(!layerName){layerName=$trig.clone().children().remove().end().text().trim()}}}
23FM.$breadcrumb.append('<li><a class="'+FM.options.triggerClass+' fm-is-animate fm-fadeInRight" href="#'+layerId+'">'+(layerName||'')+'</a></li>')},breadcrumbDelete:function($elem){var FM=this,layerId=$elem.attr('id'),layerPosition=FM.$breadcrumb.find('a[href="#'+layerId+'"]').parent().index(),$breadcrumbItems=FM.$breadcrumb.find('li');if(FM.mobileMode||FM.fullscreenMode){return!1}
24for(var i=$breadcrumbItems.length-1;i>=0;i--){if(i>layerPosition){$breadcrumbItems[i].remove()}}},breadcrumbReset:function(){var FM=this;if(FM.mobileMode||FM.fullscreenMode){return!1}
25FM.$breadcrumb.html('')},triggerInit:function(){var FM=this;FM.$elem.find('.'+FM.options.triggerClass).each(function(index,el){var $elem=$(el);if($elem.attr('href')=='#'){return!1}
26var $href=$($elem.attr('href')),name=$elem.find('.fm-textline-title').first().text().trim(),id=$elem.attr('href').replace('#layer-',''),layerID=$elem.closest('.fm-layer').attr('id'),$parentGroup=$href.closest('.'+FM.options.groupClass);if(!name){name=$elem.find('[class*="-title"]').first().text().trim()}
27if(!name){name=$elem.clone().children().remove().end().text().trim()}
28if(!$elem.hasClass(FM.options.triggerSearchClass)){$elem.append('<span class="fm-trigger-icon">'+FM.options.triggerButtonIcon+'</span>')}
29if($elem.parents('.navbar').length>0) {$elem.addClass(FM.options.triggerMainClass).attr('data-group',name);if($href.length&&!$href.attr('data-name')){$href.attr('data-name',name)}}else{if(!$href.attr('data-name')){$href.attr('data-name',name);$href.find('ul').prepend('<li class="back-item"><a class="'+FM.options.backButtonClass+' fm-textline" href="#'+layerID+'"><div class="fm-textline-title">'+FM.options.backButtonContent+'</div></a></li>')}
30if(!$parentGroup.attr('data-group')){$parentGroup.attr('data-group',name)}}})},triggerListener:function(){var FM=this,timer=null;FM.$elem.on('click','.'+FM.options.triggerClass+', .'+FM.options.backButtonClass,function(event){event.preventDefault()});FM.$elem.on('click','.'+FM.options.triggerClass+', .'+FM.options.backButtonClass,throttle(function(event){var $elem=$(this);FM.actionRouteur($elem,event)},300));if(FM.options.triggerType=='hover'){FM.$elem.on('mouseover mouseout','.'+FM.options.triggerClass+', .'+FM.options.backButtonClass,function(event){var $elem=$(this);if(event.type=='mouseover'){clearTimeout(timer);timer=setTimeout(function(){FM.actionRouteur($elem,event)},300)}else{clearTimeout(timer)}})}},estimateMaxHeight:function($elem){},actionRouteur:function($elem,event){var FM=this;if(FM.$wrapper.hasClass('fm-is-animate')&&FM.options.triggerType=='click'){return!1}
31if(!FM.fullscreenMode){FM.screenHeightCheck()}
32var isBreadcrumb=!1,isMainTrigger=!1,isBackButton=!1,isSearch=!1,$currentLayer=F
32M.$elem.find('.'+FM.options.visibleClass),currentLayerId=$currentLayer.attr('id'),currentLayerName=$currentLayer.data('name'),currentLayerGroup=$currentLayer.closest('.'+FM.options.groupClass).data('group');if(event.type=='click'&&$elem.hasClass(FM.options.triggerCloseClass)){FM.hidePanel($currentLayer,'slideUp',!0);setTimeout(function(){FM.breadcrumbReset();FM.$elem.find('.'+FM.options.triggerMainClass).removeClass('fm-is-active')},FM.options.animationDuration);FM.overlayHide();return!1}
33var $nextLayer=$($elem.attr('href')),nextLayerName=$nextLayer.data('name'),nextLayerId=$nextLayer.attr('id'),nextLayerGroup=$nextLayer.closest('.'+FM.options.groupClass).data('group'),groupId=$elem.attr('href');groupId=groupId.split('#');groupId=groupId[1];if($elem.closest('.'+FM.options.breadcrumbClass).length>0){isBreadcrumb=!0}
34if($elem.hasClass(FM.options.triggerMainClass)){isMainTrigger=!0;FM.$elem.attr({'data-open':groupId,'data-open-id':$elem.parent().index()})}
35if($elem.hasClass(FM.options.backButtonClass)){isBackButton=!0}
36if($elem.hasClass(FM.options.triggerSearchClass)){isSearch=!0;setTimeout(function(){$(FM.options.searchLayer).find('.form-control').focus()},FM.options.animationDuration)}
37if(event.type=='click'&&isBackButton){FM.hidePanel($currentLayer,'slideRight',!1);FM.showPanel($nextLayer,'slideRight');FM.breadcrumbDelete($nextLayer);return!1}
38FM.estimateMaxHeight($elem);if(((FM.options.triggerType=='hover'&&event.type=='mouseover'&&!FM.mobileMode)||((FM.options.triggerType=='click'||FM.mobileMode)&&event.type=='click'))&&$currentLayer.length<1&&!isBreadcrumb){$elem.addClass('fm-is-active');FM.showPanel($nextLayer,'slideDown');FM.overlayShow();FM.breadcrumbAdd($nextLayer);return!1}else if(event.type=='click'&&isBreadcrumb){if($currentLayer.length>1){return!1}
39if($currentLayer.length>0&&currentLayerId!=nextLayerId){FM.hidePanel($currentLayer,'slideRight',!1);FM.showPanel($nextLayer,'slideRight');FM.breadcrumbDelete($nextLayer);return!1}
40return!1}else if($currentLayer.length>0&&!isBreadcrumb){if(FM.mobileMode&&event.type=='click'&&currentLayerId!=nextLayerId&&$nextLayer.length>0){if(isSearch){FM.hidePanel($currentLayer,'slideUp',!1);FM.showPanel($nextLayer,'slideDown');return!1}
41FM.hidePanel($currentLayer,'slideLeft',!1);FM.showPanel($nextLayer,'slideLeft');return!1}
42if(event.type=='click'&&!isMainTrigger&&currentLayerId!=nextLayerId&&currentLayerGroup==nextLayerGroup){FM.hidePanel($currentLayer,'slideLeft',!1);FM.showPanel($nextLayer,'slideLeft');FM.breadcrumbAdd($nextLayer);return!1}
43if(((FM.options.triggerType=='hover'&&event.type=='mouseover'&&!FM.mobileMode)||((FM.options.triggerType=='click'||FM.mobileMode)&&event.type=='click'))&&isMainTrigger&&currentLayerGroup!=nextLayerGroup&&currentLayerId!=nextLayerId){if(FM.mobileMode){if(isSearch){FM.hidePanel($currentLayer,'slideUp',!1);FM.showPanel($nextLayer,'slideDown');return!1}
44FM.hidePanel($currentLayer,'slideLeft',!1);FM.showPanel($nextLayer,'slideLeft');return!1}
45FM.$elem.find('.'+FM.options.triggerMainClass).removeClass('fm-is-active');$elem.addClass('fm-is-active');FM.hidePanel($currentLayer,'slideUp',!1);FM.breadcrumbReset();FM.showPanel($nextLayer,'slideDown');FM.breadcrumbAdd($nextLayer);return!1}
46if(FM.options.triggerType=='click'&&event.type=='click'&&isMainTrigger&&currentLayerGroup==nextLayerGroup&&!FM.mobileMode){FM.hidePanel($currentLayer,'slideUp',!0);setTimeout(function(){FM.breadcrumbReset();FM.$elem.find('.'+FM.options.triggerMainClass).removeClass('fm-is-active')},FM.options.animationDuration);FM.overlayHide();return!1}}},};$.fn.FatMenu=function(options){this.each(function(){if(typeof Object.create!='function'){(function(){var F=function(){};Object.create=function(o){if(arguments.length>1){throw Error('Second argument not supported')}
47if(o===null){throw Error('Cannot set a null [[Prototype]]')}
48if(typeof o!='object'){throw TypeError('Argument must be an object')}
49F.prototype=o;return new F()}})()}
50var fatmenu=Object.create(FatMenu);fatmenu.init(options,this)});return this};$.fn.FatMenu.options={pushOnShow:!1,overlay:!0,mobileBreakpoint:992,backButtonContent:'<i class="fa fa-angle-left"></i> Retour',triggerButtonIcon:'<i class="fa fa-angle-right"></i>',animationDuration:250,fullscreen:!1,triggerType:'click',wrapperContainer:'.fm-wrapper',breadcrumbClass:'fm-breadcrumb',breadcrumbContainer:'.fm-breadcrumb ul',groupClass:'fm-group',layerClass:'fm-layer',triggerClass:'fm-tr
50igger',triggerMainClass:'fm-main-trigger',triggerCloseClass:'fm-close-trigger',overlayClass:'fm-overlay',openMenuClass:'fm-is-open',triggerSearchClass:'fm-search-trigger',mobileClass:'fm-is-mobile',backButtonClass:'fm-back-button',visibleClass:'fm-is-visible',hiddenClass:'fm-is-hidden'}}(jQuery,window,document))

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.