France Hardware : Forums de discussion - Découvrez notre nouveau comparateur d'offres Internet
Retrouvez les prix près de chez vous :  
Index du forum | Liste des membres | Liste des groupes | Inscription | F-A-Q | Recherche
Pseudo :    Password :     
29 511 membres enregistrés - 2 069 318 posts - 122 026 topics
Index des forums FH  | Index des forums DegroupNews
      Programmation
           Bloquer le menu lors du changement de page
126 connectés(record : 2799 le 29 May 2016 - 15 h 34)

Vous devez vous connecter pour répondre au topic.
Bloquer le menu lors du changement de page

quaresma


Messages : 613
Inscrit le 22/05/04
Ville : Grenoble
Non connecté
  Posté le 24 October 2010 - 23 h 13 m 31 s
Bonjour à toutes et tous,

je suis en train de faire un site et je voudrais faire en sorte que mon menu de gauche reste bloqué sur la partie du menu sur laquelle j'ai cliqué lors du changement de page.

Voici mon js :

    Code     
 1. function afficheMenu(obj){
 2. 	
 3. 	var idMenu     = obj.id;
 4. 	var idSousMenu = 'sous' + idMenu;
 5. 	var sousMenu   = document.getElementById(idSousMenu);
 6. 	
 7. 	/*****************************************************/
 8. 	/**	on cache tous les sous-menus pour n'afficher    **/
 9. 	/** que celui dont le menu correspondant est cliqué **/
10. 	/** où 4 correspond au nombre de sous-menus         **/
11. 	/*****************************************************/
12. 	for(var i = 1; i <= 5; i++){
13. 		if(document.getElementById('sousmenu' + i) && document.getElementById('sousmenu' + i) != sousMenu){
14. 			document.getElementById('sousmenu' + i).style.display = "none";
15. 		}
16. 	}
17. 	
18. 	if(sousMenu){
19. 		//alert(sousMenu.style.display);
20. 		if(sousMenu.style.display == "block"){
21. 			sousMenu.style.display = "none";
22. 		}
23. 		else{
24. 			sousMenu.style.display = "block";
25. 		}
26. 	}
27. 	
28. }
Le site en question se trouve ici : http://www.la-grange-sardieres.fr/site%20Fab/contenu.php Par exemple, lorsque je clique sur "théâtre", je voudrai faire en sorte qu'au changement de page, le menu reste déroulé sur la partie que j'ai cliqué, c'est-à-dire pour cet exemple le menu principal "écrits" avec les sous-menus déroulés. Si besoin, voici également le code HTML de la page :
    Code     
 1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 2. <html xmlns="http://www.w3.org/1999/xhtml">
 3. <head>
 4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 5. <meta name="robots" content="index, follow" />
 6. <meta name="keywords" content=" "/>
 7. <meta name="description" content=" "/>
 8. <title></title>
 9.      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10. 	 <link rel="stylesheet" href="css/copie_style_menu.css" type="text/css" />
11.      <link rel="stylesheet" href="css/contenu.css" type="text/css" />
12. 	 <script type="text/javascript" src="js/copie_functions.js"></script>
13. 
14.      <script type="text/javascript" src="js/functions_contenu.js"></script>
15. <style type="text/css">
16. <!--
17. body {
18. 	margin-top: 0px;
19. }
20. -->
21. </style>
22. 
23. </head>
24. <body bgcolor="#333333">
25. <table width="1050" border="0" align="center" cellpadding="0" cellspacing="0" style="background: #000; height: 421px; min-height: 421px;">
26. <tr>
27. <td colspan="3" style="height: 50px; min-height: 50px; max-height: 50px;"></td>
28. </tr>
29. <tr>
30.   <td width="183" valign="top"><div id="menu">
31. &#65279;<div class="menu" id="menu1" onclick="afficheMenu(this)"><a href="#"><img src="images/push1.gif" border="0" /></a></div><br>
32. 
33. <div id="sousmenu1" style="display:none"><br>
34. <div class="sousmenu"><a href="contenu.php?num=6&lib=th&eacute;&acirc;tre">th&eacute;&acirc;tre</a></div><br><div class="sousmenu"><a href="contenu.php?num=7&lib=enfance et jeunesse">enfance et jeunesse</a></div><br><div class="sousmenu"><a href="contenu.php?num=8&lib=po&eacute;sie">po&eacute;sie</a></div><br><div class="sousmenu"><a href="contenu.php?num=9&lib=traduction">traduction</a></div><br><div class="sousmenu"><a href="contenu.php?num=10&lib=in&eacute;dits">in&eacute;dits</a></div><br><div class="sousmenu"><a href="contenu.php?num=11&lib=autres publications">autres publications</a></div><br></div>
35. <div class="menu" id="menu2" onclick="afficheMenu(this)"><a href="#"><img src="images/push1.gif" border="0" /></a></div><br>
36. <div id="sousmenu2" style="display:none"><br>
37. <div class="sousmenu"><a href="contenu.php?num=12&lib=saison 2010-2011">saison 2010-2011</a></div><br><div class="sousmenu"><a href="contenu.php?num=13&lib=saison 2009-2010">saison 2009-2010</a></div><br><div class="sousmenu"><a href="contenu.php?num=14&lib=archives">archives</a></div><br></div>
38. 
39. <div class="menu" id="menu3" onclick="afficheMenu(this)"><a href="#"><img src="images/push1.gif" border="0" /></a></div><br>
40. <div id="sousmenu3" style="display:none"><br>
41. <div class="sousmenu"><a href="contenu.php?num=15&lib=lacoop">lacoop</a></div><br><div class="sousmenu"><a href="contenu.php?num=16&lib=projets pour la sc&egrave;ne">projets pour la sc&egrave;ne</a></div><br><div class="sousmenu"><a href="contenu.php?num=17&lib=enseignement/Ateliers">enseignement/Ateliers</a></div><br><div class="sousmenu"><a href="contenu.php?num=18&lib=radio">radio</a></div><br></div>
42. <div class="menu" id="menu4" onclick="afficheMenu(this)"><a href="#"><img src="images/push1.gif" border="0" /></a></div><br>
43. <div id="sousmenu4" style="display:none"><br>
44. <div class="sousmenu"><a href="contenu.php?num=19&lib=&agrave; l'affiche">&agrave; l'affiche</a></div><br><div class="sousmenu"><a href="contenu.php?num=20&lib=nouvelle publication">nouvelle publication</a></div><br><div class="sousmenu"><a href="contenu.php?num=21&lib=impromptus">impromptus</a></div><br></div>
45. <div class="menu" id="menu5" onclick="afficheMenu(this)"><a href="#"><img src="images/push1.gif" border="0" /></a></div><br>
46. <div id="sousmenu5" style="display:none"><br>
47. 
48. <div class="sousmenu"><a href="contenu.php?num=22&lib=presse">presse</a></div><br><div class="sousmenu"><a href="contenu.php?num=23&lib=liens">liens</a></div><br><div class="sousmenu"><a href="contenu.php?num=24&lib=contact">contact</a></div><br></div>
49. </div></td>
50.   <td width="800" valign="top" style="width: 665px;"><table width="100%" border="0" cellspacing="0" cellpadding="0">
51.   <tr>
52.     <td width="47%" valign="top" bgcolor="#FFFFFF" class="titre_lien">
53. 	<br>
54.       <br><a href="#" onclick="afficheDescURL(' Contient mon C.V., entre autres [moimeme.fr] ')" class="lien">nom_lien</a></td>
55.     <td width="2%">&nbsp;</td>
56. 
57.     <td width="51%" bgcolor="#FFFFFF"><div id="textDiv"><div class="texte_lieu">lieu</div>
58.       <br />
59.       <div class="texte_titre">Titre</div>
60.       <br />
61.       <div class="texte_dateetnbrepage">dateetnbrepage</div>
62.       <div class="texte_editeur">editeur</div>
63.       <br />
64. 
65.       <div class="texte_contenu">texte</div><br />
66.     </div></td>
67.   </tr>
68. </table></td>
69. <td width="17" style="background: #000;">&nbsp;</td>
70. </tr>
71. </table>
72. 
73. </body>
74. </html>


Pensez-vous que cela est réalisable ?
Je pense qu'il faut ajouter des paramètres dans mon js, mais je ne sais pas où exactement. (ce n'est que mon avis)

Merci beaucoup pour votre aide et bonne soirée.


Message édité 2 fois, la dernière par quaresma le 28 October 2010 - 22 h 30.


Woofy
Totalement inutile, complètement indispensable

Messages : 31 539
Inscrit le 11/01/02
Ville : Lyon
Connecté
  Posté le 25 October 2010 - 13 h 56 m 28 s
Sinon, lorsque tu stocke ton menu en base de donnée, tu stocke l'url avec.
Ensuite, quand tu le génère, tu compare cette url avec l'url de la page en cours ($_SERVER['PHP_SELF']) et si elle est identique, tu applique un style css ou un javascript particulier.




quaresma


Messages : 613
Inscrit le 22/05/04
Ville : Grenoble
Non connecté
  Posté le 25 October 2010 - 15 h 59 m 58 s
euh...je n'ai pas très bien compris Woofy, un exemple des fois ??




Woofy
Totalement inutile, complètement indispensable

Messages : 31 539
Inscrit le 11/01/02
Ville : Lyon
Connecté
  Posté le 26 October 2010 - 10 h 35 m 10 s
Oula ...
Faudrait que je retrouve un bout de code où j'ai utilisé ça.

Mais en gros en algorithme :

- récupération des menu en base de donnée
Bouche affichage menu {
Si (url menu = url courante) alors
afficher menu sélectionné
Sinon
afficher menu non sélectionné
}

Voila c'est tout.




quaresma


Messages : 613
Inscrit le 22/05/04
Ville : Grenoble
Non connecté
  Posté le 26 October 2010 - 11 h 52 m 12 s
ton bout de code était en javascript ??




Woofy
Totalement inutile, complètement indispensable

Messages : 31 539
Inscrit le 11/01/02
Ville : Lyon
Connecté
  Posté le 26 October 2010 - 12 h 11 m 58 s
Non, php.




quaresma


Messages : 613
Inscrit le 22/05/04
Ville : Grenoble
Non connecté
  Posté le 26 October 2010 - 12 h 36 m 51 s
Et je dois le placer dans quelle page ??




Woofy
Totalement inutile, complètement indispensable

Messages : 31 539
Inscrit le 11/01/02
Ville : Lyon
Connecté
  Posté le 26 October 2010 - 12 h 37 m 34 s
Toutes




quaresma


Messages : 613
Inscrit le 22/05/04
Ville : Grenoble
Non connecté
  Posté le 26 October 2010 - 12 h 43 m 18 s
Mais en faisant cela, le menu ne sera pas ouvert lorsque je changerai de page??




Woofy
Totalement inutile, complètement indispensable

Messages : 31 539
Inscrit le 11/01/02
Ville : Lyon
Connecté
  Posté le 26 October 2010 - 13 h 34 m 03 s
C'est à toi de voir comment tu laisse un menu ouvert : en changeant la css, en appliquant un javascript particulier ...
tu peux générer du code javascript en php hein ^^

Je n'ai pas de menu sous la main, et je n'ai pas vraiment le temps de reprendre ton code et l'adapter pour te montrer (ce qui je pense serait la meilleur solution).
Du moins pas pour le moment, mais si j'y pense, je te ferais ça.




quaresma


Messages : 613
Inscrit le 22/05/04
Ville : Grenoble
Non connecté
  Posté le 26 October 2010 - 14 h 01 m 13 s
Merci c'est gentil car je galère vraiment :(




quaresma


Messages : 613
Inscrit le 22/05/04
Ville : Grenoble
Non connecté
  Posté le 26 October 2010 - 23 h 16 m 21 s
Merci, je vais jeter un oeil en attendant de voir si Woofy pourrait me donner un coup de pouce.




quaresma


Messages : 613
Inscrit le 22/05/04
Ville : Grenoble
Non connecté
  Posté le 28 October 2010 - 22 h 19 m 49 s
J'ai effectué des recherches sur google, mais sans grand résultat.

Puis, je me suis penché sur le code, mais je ne vois vraiment pas comment faire :(

bonne soirée




quaresma


Messages : 613
Inscrit le 22/05/04
Ville : Grenoble
Non connecté
  Posté le 29 October 2010 - 21 h 43 m 50 s
Woofy, si tu aurais la sympathie de m'aider cela serait très gentil.

Merci et bonne soirée




Page genérée en 0.3315 secondes par RahForum 2.0 | Gzip off |  Stats |  Metaforums |  RSS
© 2004 Cerbere Systems.
Prix Matériel Informatique | Informatique Lyon | Informatique Grenoble | Informatique Annecy | Informatique Marseille | Informatique Bordeaux | Forum Informatique
ADSL | Actualité ADSL | Deligo | Appareil photo | Commande Au Volant
Creative Commons
Message Boards and Forums Directory