jQuery(function($){ var popupId = 55604; // ID du popup Expertises var $expertisesItem = null; var closeTimeout = null; // Ouvrir le popup au survol de "Expertises" $(document).on('mouseenter', '.elementor-nav-menu .elementor-item', function() { var $item = $(this); var text = $item.text().trim().toUpperCase(); if (text === 'EXPERTISE') { clearTimeout(closeTimeout); $expertisesItem = $item; // Ajoute la classe active pour garder la couleur orange $item.addClass('elementor-item-active'); elementorProFrontend.modules.popup.showPopup({ id: popupId }); } }); // Quand on quitte l'item Expertises $(document).on('mouseleave', '.elementor-nav-menu .elementor-item', function() { var $item = $(this); var text = $item.text().trim().toUpperCase(); if (text === 'EXPERTISE') { closeTimeout = setTimeout(function() { // Vérifie si on n'est PAS sur le popup var $popup = $('.elementor-popup-modal:visible'); var isHoveringPopup = $popup.filter(':hover').length > 0; if (!isHoveringPopup) { elementorProFrontend.modules.popup.closePopup({ id: popupId }); $item.removeClass('elementor-item-active'); } }, 200); } }); // Quand on entre dans le popup, on annule la fermeture $(document).on('mouseenter', '.elementor-popup-modal', function() { clearTimeout(closeTimeout); }); // Quand on sort du popup, on ferme tout $(document).on('mouseleave', '.elementor-popup-modal', function() { elementorProFrontend.modules.popup.closePopup({ id: popupId }); if ($expertisesItem) { $expertisesItem.removeClass('elementor-item-active'); } // Force le retrait de toutes les classes actives $('.elementor-nav-menu .elementor-item').removeClass('elementor-item-active'); }); // Sécurité : retire la classe si on passe la souris ailleurs $(document).on('mouseenter', '*:not(.elementor-nav-menu):not(.elementor-popup-modal)', function(e) { if(!$(e.target).closest('.elementor-nav-menu, .elementor-popup-modal').length) { $('.elementor-nav-menu .elementor-item').removeClass('elementor-item-active'); elementorProFrontend.modules.popup.closePopup({ id: popupId }); } }); }); jQuery(function($){ var popupId = 55604; var $expertisesItem = null; var closeTimeout = null; // Fonction pour tout fermer function closeAll() { elementorProFrontend.modules.popup.closePopup({ id: popupId }); $('.elementor-nav-menu .elementor-item').removeClass('elementor-item-active'); $expertisesItem = null; } // AJOUTER LA FLÈCHE au chargement $('.elementor-nav-menu .elementor-item').each(function() { var text = $(this).text().trim().toUpperCase(); if (text === 'EXPERTISE') { // Ajouter la flèche si elle n'existe pas déjà if (!$(this).find('.arrow-down').length) { $(this).append(' '); } } }); // Ouvrir le popup au survol de "Expertises" $(document).on('mouseenter', '.elementor-nav-menu .elementor-item', function() { var $item = $(this); var text = $item.text().trim().toUpperCase(); if (text.includes('EXPERTISE')) { clearTimeout(closeTimeout); $expertisesItem = $item; $item.addClass('elementor-item-active'); // Rotation de la flèche $item.find('.arrow-down').css('transform', 'rotate(180deg)'); elementorProFrontend.modules.popup.showPopup({ id: popupId }); } else { // Si ce n'est PAS Expertises, on ferme tout if ($expertisesItem) { closeAll(); $expertisesItem.find('.arrow-down').css('transform', 'rotate(0deg)'); } } }); // Quand on quitte l'item Expertises $(document).on('mouseleave', '.elementor-nav-menu .elementor-item', function() { var $item = $(this); var text = $item.text().trim().toUpperCase(); if (text.includes('EXPERTISE')) { closeTimeout = setTimeout(function() { var $popup = $('.elementor-popup-modal').filter(function() { return $(this).css('display') !== 'none'; }); if ($popup.length === 0 || !$popup.is(':hover')) { closeAll(); $item.find('.arrow-down').css('transform', 'rotate(0deg)'); } }, 250); } }); // Quand on entre dans le popup $(document).on('mouseenter', '.elementor-popup-modal', function() { clearTimeout(closeTimeout); }); // Quand on sort du popup $(document).on('mouseleave', '.elementor-popup-modal', function() { closeAll(); if ($expertisesItem) { $expertisesItem.find('.arrow-down').css('transform', 'rotate(0deg)'); } }); // Fermer avec la touche Escape $(document).on('keydown', function(e) { if (e.key === 'Escape') { closeAll(); $('.arrow-down').css('transform', 'rotate(0deg)'); } }); }); jQuery(function ($) { // === 1. On cible le lien "Expertise" === var $expertisesLink = $('.elementor-nav-menu .menu-item.open-mega-expertises > a'); if (!$expertisesLink.length) { return; // au cas où la classe a changé } // === 2. On supprime notre ancien span .arrow-down s'il existe === $expertisesLink.find('.arrow-down').remove(); // === 3. On ajoute le même markup que les autres sub-menus === if ($expertisesLink.find('.sub-arrow').length === 0) { // On essaie de cloner une flèche existante (même icône, même HTML) var $refArrow = $('.elementor-nav-menu .menu-item-has-children .sub-arrow').first().clone(); if ($refArrow.length) { $expertisesLink.append($refArrow); } else { // fallback si jamais il n'y a pas de sous-menu ailleurs $expertisesLink.append( '' + '' + '' ); } } });

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *