Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > jQuery
jQuery Forum d'entraide sur le framework jQuery. Avant de poster : Tutoriels jQuery, FAQ jQuery, Tous les tutoriels JavaScript, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/03/2011, 14h21   #1
Nouveau Membre du Club
 
Développeur informatique
Inscription : mars 2010
Messages : 139
Détails du profil
Informations personnelles :
Localisation : Belgique

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : mars 2010
Messages : 139
Points : 37
Points : 37
Par défaut menu deroulant et enroulant

bonjours à tous,

Je souhaiterais faire un menu en JQuery, lorsque je clique sur un sous-menu, sa me déroule le sous-sous-menu correspondant. c'est réaliser grace à ce code :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
$('#deroule_$i').click(function()
	{
		if ($('#sous_menu_$i').is(':visible'))
		{							   $('#sous_menu_$i').slideUp('slow');		
		}
		else
		{
									$('#sous_menu_$i').slideDown('slow');
		}
		// $('#sous_menu_$i').filter(':visible').slideUp('slow');
		// $('#sous_menu_$i').filter(':hidden').slideDown('slow');
 
							});
Mais cela ne fait pas exactement ce que je veux. En effet, lorsque je clique sur un sous-menu, il me déroule son sous-sous-menu et quand je reclique dessus il se referme. Mais si je ne reclique pas dessus et que j'ouvre un autre sous-menu, le premier ouvert ne se referme pas.

mon menu se construit de cette manière comme sa vous verrez comment sa se construit :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
 
<div id="menu">
 
<span id='menu_$j' class='gras'>".$ligne."</span><br/>
 
<span id='deroule_$l' class='gras sous_menu'>".$ligne."</span><br/>
 
<div id='sous_menu_$l' class='style gras sous_sous_menu'>
 
<ul class='non_puce'>
 
"<li>".$this->controller->versPage($pointeVers[$i],$ligne)."</li>"
........
</ul>
 
</div>
 
<span id='menu_$j' class='gras'>".$ligne."</span><br/>
 
<span id='deroule_$l' class='gras sous_menu'>".$ligne."</span><br/>
 
<div id='sous_menu_$l' class='style gras sous_sous_menu'>
 
<ul class='non_puce'>
 
"<li>".$this->controller->versPage($pointeVers[$i],$ligne)."</li>"
........
</ul>
 
</div>
 .......
 .......
</div>
dharkan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2011, 15h27   #2
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 805
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 805
Points : 35 807
Points : 35 807


Il n'y aurait pas un problème dans le nommage ?
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2011, 15h37   #3
Nouveau Membre du Club
 
Développeur informatique
Inscription : mars 2010
Messages : 139
Détails du profil
Informations personnelles :
Localisation : Belgique

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : mars 2010
Messages : 139
Points : 37
Points : 37
alors non il n'y a pas d'erreur le code JQuery que j ai mit est écrit avec PHP donc ici on voit les $i etc.

Sinon j ai trouvé un bricolage maison pour avoir ce que je veux voici le code sa peut servir :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
$('#deroule_$i').click(function()
{
	//si le sous_menu_$i est visible				
	if ($('#sous_menu_$i').is(':visible'))
	{
                //on le remonte
		$('#sous_menu_$i').slideUp('slow');		
	}
        //sinon
	else
       {
                //on remonte tout les sous_menu
		$('.sous_menu').slideUp('slow');
                //on abaisse celui qu'on vient juste de cliquer
		$('#sous_menu_$i').slideDown('slow');
	}
 
	// $('#sous_menu_$i').filter(':visible').slideUp('slow');
        // $('#sous_menu_$i').filter(':hidden').slideDown('slow');
 
});
dharkan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2011, 16h20   #4
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 007
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 007
Points : 45 091
Points : 45 091
et là le $i est interprété entre simples quotes ???,
Code :
if ($('#sous_menu_$i').is(':visible'))
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2011, 12h00   #5
Nouveau Membre du Club
 
Développeur informatique
Inscription : mars 2010
Messages : 139
Détails du profil
Informations personnelles :
Localisation : Belgique

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : mars 2010
Messages : 139
Points : 37
Points : 37
oui le $i est bien interprété lorsqu'il est entre simple quote

EDIT : le code PHP n'a pas sa place ici mais je met le code complet de la procédure

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
for($i=0;$i<= $site->getMenu()->getNbTotal();$i++)
{					
	echo "
 
	$('#deroule_$i').click(function()
		{
 
			 if ($('#sous_menu_$i').is(':visible'))
			 {
				$('#sous_menu_$i').slideUp('slow');		
 
			}
			 else
			{
				$('.sous_sous_menu').slideUp('slow');
				$('#sous_menu_$i').slideDown('slow');
 
			}
 
		});	";				
	}
dharkan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2011, 12h15   #6
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 007
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 007
Points : 45 091
Points : 45 091
ha oui vu comme ça ...

après c'est une question de gouts, mais je trouve les syntaxes suivantes plus claires :

Code :
1
2
3
4
5
6
for($i=0;$i<= $site->getMenu()->getNbTotal();$i++)
{					
	echo '
 
	$("#deroule_'.$i.'").click(function()
		{
ou
Code :
1
2
3
4
for($i=0;$i<= $site->getMenu()->getNbTotal();$i++)
{					
	echo '$("#deroule_"',$i,'").click(function()
		{
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h26.


 
 
 
 
Partenaires

Hébergement Web