11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

après plusieurs jours de recherche je me permets de poster un petit message pour savoir comment modifier le comportement d'un menu dynamique.
J'ai en effet mis en place un menu comme celui-ci :
http://css.alsacreations.com/modelesmenus/vd1.htm
Ca fonctionne bien sauf que, quand je clic sur un sous-menu (je précise que les liens dans mon menu sont du type index.php ?page=xxxxxxx, le menu se referme en revenant dans sa position d’origine.

J’aimerais qu’il se comporte comme le menu du site oscommerce (http://www.oscommerce-fr.info/portail/index.php?option=com_content&task=section&id=3&Itemid=157).

Je pense que cela doit être possible mais je ne sais pas comment faire puisqu’il faut, je pense faire appel au javascript et je ne suis pas expert en ce domaine.

Merci à toutes celles et ceux qui pourront m’aider.
Hubert
Modifié par hubert75 (25 Apr 2006 - 14:25)
Bonjour,

merci de m'avoir répondu et donné une piste.
Je viens de regarder vite fait et cela semble être ce que je cherche.
Je vais essayer de mettre cela en application et vous tiens au courant.
Bonne journée
Bonjour,

je viens de faire quelques essais.
Le javascript présenté ici
http://www.fastclemmy.com/index.php?viewlog=98_vous-etes-ici
ne fonctionne pas très bien. Je l'ai donc abandonné.

Par contre ce qui est expliqué ici
http://www.biblographia.net/article/17/css--mettre-envidence-la-page-courante
met bien en évidence les liens sur lesquels on a cliqué et en plus c'est très simple à mettre en place.

Mais ça ne fonctionne qu'avec un menu "linéaire".
Dans le cas de mon menu dynamique avec des sous-menu, après un clic sur un sous menu, il se referme.
Quand on clic de nouveau sur le menu dans lequel se trouve le sous-menu, on voit bien qu'il est en évidence. De ce côté là c'est bon.

Mon probleme désormais c'est comment faire pour qu'il reste "ouvert"???
Je n'ai rien trouvé là dessus.
Je vais encore faire quelques essais et si cela n'est pas concluant, je crois que je vais abandonné cette idée de menu dynamique.

Encore merci pour votre aide et bonne journée.
Hubert
J'en ai terminé.
J'ai utilisée la méthode la plus simple pour mettre en valeur les liens cliqués dans le menu comme expliqué là :
http://www.biblographia.net/article/17/css--mettre-envidence-la-page-courante

Et pour que mon menu reste ouvert et laisse apparaître les sous menu, au lieu de mettre au début de mes pages
<body id="accueil">



<?php
// détection du navigateur pour déterminer si il faut mettre 
// onload ou onfocus pour la mise en valeur des liens cliqués dans le menu
if (ereg("MSIE", $_SERVER["HTTP_USER_AGENT"]))
 {
   // Internet Explorer    
   echo '<body id="'.$liste.'" onfocus="javascript:montre(\'smenu2\');">';
}
else{
//autres navigateurs
 echo '<body id="'.$liste.'" onload="javascript:montre(\'smenu2\');">';
} 		

?>


Je détecte le navigateur car onfocus fonctionne bien sous ie et mal sous firefox
et onload ne fonctionne pas du tout sous ie.

Je sais pas si c'est propre mais ça fonctionne.

Encore merci pour votre aide et bonne journée à tout le monde !
Hubert