Submenú en el menú hamburguesa

Resuelto
patricia@84 Mensajes publicados 114 Estado Miembro -  
xHaMaz Mensajes publicados 123 Fecha de registro   Estado Miembro Última intervención   -

Hola,

Por pereza, lo reconozco, he utilizado, en un sitio que estoy diseñando, un menú extraido de una plantilla, cuyo menú hamburger en la versión móvil se activa mediante el siguiente script de javascript:

(() => {const ul = document.querySelector('.header-nav-lists'); const hamburger = document.querySelector('.header-hamburger-icon'); hamburger.addEventListener('click', () => { ul.classList.toggle('show'); hamburger.classList.toggle('show'); })})() 

Hasta ahí todo funcionaba bien, independientemente del tamaño de la pantalla.

Quise añadir un submenú a este menú y, si el menú funciona aún bien en formato “ordenador”, no es lo mismo en formato móvil. El menú se muestra bien cuando hago clic en el hamburger, pero el submenú no aparece aunque esté presente; lo comprobé con la inspección de Firefox.

Supongo que se trata de un problema a nivel del script de javascript del hamburger, pero no sé nada de javascript. He intentado ponerme a ello, pero mi cerebro de septuagenario no puede.

Mi código html:

<nav class="header-nav-bar"> <div class="header-nav-logo"><a href="index.php"><img src="image/logo.png" alt="logo"></a></div> <ul class="header-nav-lists"> <li class="header-nav-list"><a class="header-nav-link header-active" href="index.php">Accueil</a></li> <li class="header-nav-list deroulant"><a href="#">Gîte</a> <ul class="sous"> <li><a class="header-nav-link" href="details.php">Présentation</a></li> <li"><a "header-nav-link" href="interieur.php">Intérieur</a></li> <li><a "header-nav-link" href="exterieur.php">Extérieur</a></li> </ul> </li> <li class="header-nav-list"><a class="header-nav-link" href="tarifs.php">Tarifs</a></li> <li class="header-nav-list"><a class="header-nav-link" href="visiter.php">A visiter</a></li> <li class="header-nav-list"><a class="header-nav-link" href="reserver.php">Réserver</a></li> <li class="header-nav-list"><a class="header-nav-link" href="contact.php">Contact</a></li> </ul> <div class="header-hamburger-icon"> <div class="header-hamburger-line-1"></div> <div class="header-hamburger-line-2"></div> <div class="header-hamburger-line-3"></div> </div> </div> </nav>

D’avance, merci pour l’aide qui pourra être apportée.

Bien cordialement,

Patricia

3 respuestas

xHaMaz Mensajes publicados 123 Fecha de registro   Estado Miembro Última intervención   18
 

Hola

 (() => { const ul = document.querySelector('.header-nav-lists'); const hamburger = document.querySelector('.header-hamburger-icon'); const deroulant = document.querySelector('.deroulant'); hamburger.addEventListener('click', () => { ul.classList.toggle('show'); hamburger.classList.toggle('show'); }); deroulant.addEventListener('click', () => { deroulant.querySelector('.sous').classList.toggle('show'); }); })();

Normalmente con esto se añadirá un manejador de evento de clic al enlace "desplegable" que mostrará u ocultará el submenú cuando hagas clic en él.

0
patricia@84 Mensajes publicados 114 Estado Miembro 9
 

Hola,

Gracias por tu respuesta, ha hecho que aparezca el submenú al hacer clic. Solo me queda un poco de CSS por hacer para mejorar el diseño.

0
xHaMaz Mensajes publicados 123 Fecha de registro   Estado Miembro Última intervención   18
 

Niquel !

0