IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Conserver l'état d'un menu déroulant après avoir changé de page


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Conserver l'état d'un menu déroulant après avoir changé de page
    Bonjour à tous!
    Je débute en javascript, et je viens de me faire un menu en accordéon style explorateur windows. Ce menu est commun à plusieurs pages de mon site. J'ai quelque chose comme ceci au départ :

    dossier1
    dossier2
    dossier3

    Et si je clique sur un dossier, disons le 2, j'obtiens :

    dossier1
    dossier2
    page1
    page2
    page3
    page4
    dossier3

    Bien entendu en recliquant dessus le dossier se referme.
    Les pages 1, 2, 3 et 4 sont des liens hypertextes.
    Jusque la rien de compliqué.

    Cependant je voudrait que mon menu reste comme il lorsque je clique sur un de ces liens. Actuellement mon menu est inclut sur toutes les pages grâce à php, et donc lorsque je change de page, il est réinitialisé...

    Il faudrait donc enregistrer quelque part la configuration de mon menu, sachant qu'au final il y aura beaucoup plus de 3 dossiers, ce qui exclue le passage de variables dans l'url...



    Mon code, si ça peut clarifier le tout :



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    34
    35
    36
     
    <script type="text/javascript">
    <!--
    	function toggleDisplay(elmt)
    	{
    	   if(typeof elmt == "string")
    	      elmt = document.getElementById(elmt);
    	   if(elmt.style.display == "none")
    	      elmt.style.display = "";
    	   else
    	      elmt.style.display = "none";
    	}
    //-->
    </script>
     
     
     
    <ul id="menu">
     
    	<h3><a href="index.php">Accueil</a></h3>
     
    	<h3><a href="#" onclick="toggleDisplay('dossier1');">Dossier 1</h3>
    	<ul id= dossier1 style="display: none;">
    		<li><a href="unePage1.php"> page1</a></li>
    		<li><a href="unePage2.php"> page2 </a></li>
    		<li><a href="unePage3.php"> page3 </a></li>
    		<li><a href="unePage4.php"> page4 </a></li>
    	</ul>
     
    	<h3><a href="#" onclick="toggleDisplay('dossier2');"> Dossier 2</h3>
    	<ul id= dossier2 style="display: none;">
    		<li><a href="unePage5.php"> page5</a></li>
    		<li><a href="unePage6.php"> page6 </a></li>
    		<li><a href="unePage7.php"> page7 </a></li>
    	</ul>
    </ul>

    Voila!
    J'espère avoir été clair!
    Si vous avez des pistes...
    Merci!

  2. #2
    Membre éprouvé Avatar de sebhm
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2004
    Messages
    1 090
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 090
    Points : 1 241
    Points
    1 241
    Par défaut
    à chaque fois que tu arrives dans une page parce qu'un utilisateur a cliqué dans le menu, tu sais où il a cliqué non ?

    à partir de là, il te suffit de ne pas ecrire grace à un test PHP.
    Si tu veux t'embeter plus, tu peux le faire un Javascript

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Salut!
    Ben si je passe ça en paramètre dans l'url, oui je peux savoir d'où il vient, is ça ne me va pas du tout ca :
    si l'utilisateur a déroulé plusieurs sous dossiers, il faut qu'ils soient tous ouverts en arrivant sur l'autre page...
    Merci d'avoir répondu!

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Ben qu'est-ce qui t'empêche de passer l'état des sous-menus en paramètre ?
    Soit un paramètre par sous-menu (ouvert ou fermé) soit un seul paramètre qui récapitule l'état général, par exemple sous la forme : "101" (1er et 3e sous-menus ouverts et 2e fermé).

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Ouh ca c'est pas con le 101 pour les 3 menus d'un coup, j'y ai même pas pensé !
    Je voulais éviter de passer ça par l'url, ça fait pas très "beau", mais bon c'est pas le but de l'url
    Problème résolu!!
    Si toutefois quelqu'un passe et a une idée pour faire autrement, je suis toujours preneur!
    Merci à vous deux!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 15/02/2010, 10h34
  2. [MySQL] Retenir les informations dans un menu déroulant après un rafraichissement
    Par cheik_koita dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 30/03/2009, 17h27
  3. [MySQL] Afficher valeur menu déroulant apres soumission du formulaire
    Par yagrasdemonde dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 05/12/2008, 19h06
  4. Réaffichage menu déroulant après validation
    Par bogsy15 dans le forum Langage
    Réponses: 18
    Dernier message: 05/09/2007, 10h22
  5. Réponses: 1
    Dernier message: 10/09/2006, 06h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo