Menu déroulant dynamique et jquery

Fermé
fxtaa Messages postés 1050 Date d'inscription mardi 20 octobre 2009 Statut Membre Dernière intervention 2 avril 2015 - 30 juin 2010 à 09:34
fxtaa Messages postés 1050 Date d'inscription mardi 20 octobre 2009 Statut Membre Dernière intervention 2 avril 2015 - 30 juin 2010 à 10:15
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 :
<?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:

1 réponse

fxtaa Messages postés 1050 Date d'inscription mardi 20 octobre 2009 Statut Membre Dernière intervention 2 avril 2015 74
30 juin 2010 à 10:15
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
0