Bonjour,
Avant de résoudre le problème il faut comprendre comment cela fonctionne.
Ton application fonctionne grâce à 2 "machines". Navigateur et serveur (mode client/serveur classique)
Le fonctionnement est le suivant :
- Le navigateur effectue une requête vers le serveur.
- Le serveur reçoit la requête et retourne le fichier demandé. Si le fichier est une extension .php alors le fichier est envoyé sur l'interpréteur php pour traitement et génération du code HTML issue de ce traitement PHP. Dans ton exemple c'est le cas.
- Le contenu HTML généré est envoyé au navigateur.
- Le navigateur récupère le contenu HTML et l'affiche. Si il y a du javascript, il l'exécute.
Dans ton cas qu'est ce qu'il se passe :
-
Tu as affiché ta page une première fois. Tous les menus sont fermés. Tu cliques dessus. Ton code javascript réagit à cette évènement et fait son travail. Le menu s'ouvre, les autres se ferment.
-
Maintenant tu changes de page. Le navigateur supprime tout son contenu, effectue la requête, reçoit la page , exécute ton javascript.
Pour mettre en place ton système il faut que la navigateur sache quel menu ouvrir lorsqu'il reçoit la page. Il y a plusieurs possibilités.. du propre au dégueulasse mais pèle-mèle il est possible de :
- Positionner en php la classe CSS qui "ouvre" le menu sur le bon menu.
- Faire un jeu de ping pong du menu ouvert entre les pages. Tu envois menu1 dans ta requête et ce menu1 se trouve quelque part dans la page dans une variable js de telle sorte que ton script js est capable de la récupérer et d'effectuer un traitmeent adéquate.
- Utiliser le localStorage du navigateur.
etc...
Je vote 1 mais tout dépend de l'ensemble du système après.