Menu déroulant dynamique et jquery
fxtaa
Messages postés
1050
Date d'inscription
Statut
Membre
Dernière intervention
-
fxtaa Messages postés 1050 Date d'inscription Statut Membre Dernière intervention -
fxtaa Messages postés 1050 Date d'inscription Statut Membre Dernière intervention -
Bonjour, tout d'abord je tiens à m'excuser si je poste dans la mauvaise section.
Le principe est simple, un menu est créé à partir d'un fichier xml, je ne sais pas combien de partie aura mon menu.
Ensuite avec la fonction slideToggle de Jquery, je crée un menu déroulant.
Le fonctionnement souhaité, lorsque je clic sur un de mes span, celui-ci déroule un div. Lorsque je clic sur un autre span, le div déjà ouvert remonte et l'autre div se déroule.
Le problème est simple, jquery se base sur les noms des classes pour "lier" un span à un div, je n'arrive pas à ce qu'au moment où un div est déroulé, celui-ci remonte automatiquement au clic d'un autre span.
Le code :
ps : pour les curieux, membre.php contient la fiche du membre
Le principe est simple, un menu est créé à partir d'un fichier xml, je ne sais pas combien de partie aura mon menu.
Ensuite avec la fonction slideToggle de Jquery, je crée un menu déroulant.
Le fonctionnement souhaité, lorsque je clic sur un de mes span, celui-ci déroule un div. Lorsque je clic sur un autre span, le div déjà ouvert remonte et l'autre div se déroule.
Le problème est simple, jquery se base sur les noms des classes pour "lier" un span à un div, je n'arrive pas à ce qu'au moment où un div est déroulé, celui-ci remonte automatiquement au clic d'un autre span.
Le code :
<?php $b = 0; foreach($liste as $membre){ $b ++; // fonction js et css pour l'anim ancre avec $b echo '<script type="text/javascript"> $(document).ready(function () { $("div.menu_body'.$b.'").addClass("alt"); $(\'span.menu_head'.$b.'\').click(function () { $(\'div.menu_body'.$b.'\').slideToggle(\'slow\'); }); }); </script> <style>.menu_body'.$b.' {display:none; border:1px solid;}</style>'; echo $membre->nodeValue; $url = $membre->getAttribute("url"); $class = $membre->getAttribute("classId"); $name = $membre->getAttribute("name"); if ($membre->hasAttribute("name")) {echo '<span class="menu_head'.$b.'">'.$membre->getAttribute("name").' ';} if ($membre->hasAttribute("level")) {echo ' '.$membre->getAttribute("level").'</span>';} echo '<div class="menu_body'.$b.' style="position:absolute;">'; include ("membre.php");echo '</div>'; }?>
ps : pour les curieux, membre.php contient la fiche du membre
A voir également:
- Menu déroulant dynamique et jquery
- Menu déroulant excel - Guide
- Tableau croisé dynamique - Guide
- Excel menu déroulant en cascade - Guide
- Menu déroulant google sheet - Accueil - Guide bureautique
- Exemple tableau croisé dynamique télécharger - Télécharger - Tableur
1 réponse
Bon, en fait j'ai trouvé donc pour ceux que ça intéresse je me suis basé sur https://www.alsacreations.com/tuto/lire/603-Creer-un-menu-accordeon-avec-jQuery.html