Akushi 75 Posté(e) le 20 août 2019 Partager Posté(e) le 20 août 2019 ???????? ??????? (function() { function openDropdown(event, width){ event.target.parentNode.classList.add("toggle"); event.target.parentNode.lastElementChild.setAttribute('style', 'width:' + width + 'px'); } function resetDropdown(){ let element = document.querySelector(".dropdown.toggle"); if(element) { element.classList.remove("toggle"); } } function documentHandler(){ resetDropdown(); document.removeEventListener('click', documentHandler , false); } document.addEventListener('DOMContentLoaded', function () { let elements = document.querySelectorAll('.dropdown-toggle'); if(elements.length > 0) { elements.forEach(el => { el.addEventListener('click', function (e) { let isActive = e.target.parentNode.classList.contains("toggle"); resetDropdown(); if (isActive) { return; } e.stopPropagation(); e.preventDefault(); openDropdown(e, this.offsetWidth); document.addEventListener('click', documentHandler, false); }, false); }); } }); })(); Pour faire simple il va cherche dans votre html tous ce qui correspond au dropdown-toggle il vérifié si il y'en n'a plus de 0 si ces ok il pour chaque " .dropdown-toggle " il ajoute un événement que quand ont clique sa effectue une action. Le isActive vérifie si le menu n'est pas déjà dérouler si il l'ai il le referme le reste du script ouvre le menu et permet de le refermer et d'ouvrir directement l'autre quand ont clique. Passons au HTML: <li class="dropdown"> <a class="nav-link dropdown-toggle">Menu déroulant</a> <ul class="dropdown-content"> <li><a class="nav-items" href="#">Déroulant 1</a></li> <li><a class="nav-items" href="#">Déroulant 2</a></li> <li><a class="nav-items" href="#">Déroulant 3</a></li> </ul> </li> A noté que les class nav-link et nav-items ne sont pas obligatoire. J'espère que cette mini release vous auras plu. Pour toutes autres questions ou aide contactez moi sur discord : Clayton#6933 Lien à poster Partager sur d’autres sites Plus d'options de partage...
Tig3r 36 Posté(e) le 20 août 2019 Partager Posté(e) le 20 août 2019 Merci pour le partage Développeur PHP, Python, Java, NodeJS Lien à poster Partager sur d’autres sites Plus d'options de partage...
Supra 10 Posté(e) le 20 août 2019 Partager Posté(e) le 20 août 2019 Merci à toi Lien à poster Partager sur d’autres sites Plus d'options de partage...
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant