var $Top, $comboLng, $Nav, $Menu, $Menus, $specMenus, clngclose_timer, menuclose_timer, specMenusclose_timer, ver, hash = location.hash; history.pushState(null, document.title, location.href.replace(/#.*$/, "")); $(function () { $Top = $('#Top'); $Nav = $('#Nav'); $comboLng = $('#comboLng'); $specMenus = $('.specMenus'); $Menu = $('#menu'); $Menus = $('#menu > li > ul').parent(); ver = is_mob_mode(); ges_pos_Menu(); // sélection dans les menus de la page en cours //currentPage = $('link[rel="canonical"]').attr('href').replace($('base').attr('href')); $Menu.find('a[href="' + location.pathname + '"]').parent().addClass("selected"); $specMenus.find('a[href="' + location.pathname + '"]').parent().addClass("selected"); // Modification de la gestion auto des ancres au chargement des pages (effet de scroll) if (hash.length) {setTimeout(function() { $('html,body').animate({ scrollTop: $(hash).offset().top - 50 }, 500, "easeOutCubic"); }, 350)} // blocage de la propagation desévènements scroll touchmove mousewheel lors de l'utilisation du menu principal (mobile) $Menu.on('scroll touchmove mousewheel', function (e) { e.stopPropagation(); }); // gestion combo de langues $comboLng.children('.selected').click(function (e) { e.stopPropagation(); $('#menu > li.opened').each(function () { close_menu.call(this) }) if ($specMenus.hasClass('opened')) { close_specMenus() } if (!$comboLng.hasClass('opened')) { open_comboLng() } else { close_comboLng() } return false; }); $comboLng.mouseleave(function () { if ($comboLng.hasClass('opened')) { clngclose_timer = setTimeout(close_comboLng, 1000); } }); $comboLng.mouseenter(function () { clearTimeout(clngclose_timer) }); // gestion des menu spécifiques (sites, ...) $specMenus.each(function (i) { $(this).click(function (e) { e.stopPropagation(); var isOpened = $(this).hasClass('opened'); close_specMenus(); $('#menu > li.opened').each(function () { close_menu.call(this) }) if (!isOpened) { open_specMenus.call(this) } else { close_specMenus.call(this) } return false; }); }); $specMenus.find('a').click(function (e) { e.stopPropagation(); }); $specMenus.mouseleave(function () { if ($(this).hasClass('opened')) { This = this; specMenusclose_timer = setTimeout(function () { close_specMenus.call(This) }, 1000); } }); $specMenus.mouseenter(function () { if ($(this).hasClass('opened')) { clearTimeout(specMenusclose_timer) } }); // la section "mon compte", si présente, change de position dans le menu selon la version mobile/desktop if (ver) { $('#Account').detach().prependTo($Menu); } else { $('#Account').detach().appendTo($Menu); } // gestion des sous-menu du menu de navigation $Menu.find('li > ul:visible').each(function () { $(this).parent().addClass("sub") }) //$Menu.find('li > ul').parent().addClass("sub"); $('#menu > li > a').click(function (e) { e.stopPropagation(); if ($comboLng.hasClass('opened')) { close_comboLng() } if ($specMenus.hasClass('opened')) { close_specMenus() } if (!$(this).parent().hasClass('opened')) { $('#menu > li.opened').each(function() { close_menu.call(this) }) open_menu.call($(this).parent()) } else { close_menu.call($(this).parent()) } }); $Menus.mouseleave(function () { if (!ver && $(this).hasClass('opened')) { This = this; menuclose_timer = setTimeout(function () { close_menu.call(This) }, 1000); } }); $Menus.mouseenter(function () { if ($(this).hasClass('opened')) { clearTimeout(menuclose_timer) } }); // gestion des Menus mobiles $Menu.find('.closed').click(function () { $('#mob_btnMenu').click() }); $('#mob_btnMenu').click(function () { if (!$Menu.hasClass('opened')) { // Ouverture close_comboLng() $('html, body').addClass('BlockScroll'); $('body').append("