menu sous firefox

Eléphanteau du PHP | 18 Messages

29 mai 2006, 16:11

Bonjour !
J'ai un petit menu que j'utilise pour mon site et qui marche très bien sous internet explorer parcontre sous firefox lorsque je recharge la page tous les sous-menus de développent alors que normalement lorsqu'un sous-menu est développé les autres sont cachés :?

Voilà la fonction javascript :

Code : Tout sélectionner

<script type="text/javascript"> <!-- window.onload=montre; function montre(id) { var d = document.getElementById(id); for (var i = 0; i<=10; i++) { if (document.getElementById('smenu'+i)) {document.getElementById('smenu'+i).style.display='none';} } if (d) {d.style.display='block';} } //--> </script>
et voici un bout du menu :

Code : Tout sélectionner

<div class="menu"> <dl id="menu"> <dt onclick="javascript:montre('smenu1');">Les Systèmes</dt> <dd id="smenu1"> <ul> <li><a href="index.php?page=page1.php">Consulter</a></li> <li><a href="index.php?page=page2.php">Ajouter</a></li> <li><a href="index.php?page=page3.php&mode=modif">Modifier</a></li> <li><a href="index.php?page=page4.php">Supprimer</a></li> </ul> </dd> </dl> </div>
Je suis en train de me demander tout en écrivant ça si ça viendrait pas du "javascript:montre".
Une idée? :)

Administrateur PHPfrance
Administrateur PHPfrance | 3088 Messages

29 mai 2006, 16:23

Tu dois sûrement avoir un message d'erreur dans Outils > Console Javascript. À mon avis c'est ton "montre" sans paramètre qui pose problème. Ceci dit, je suis nul en JS donc...

Sinon, tu peux aussi explorer les solutions entièrement basées sur du CSS. Voici une URL à garder précieusement: http://www.cssplay.co.uk/menus/index.html [ exemple ]

Eléphant du PHP | 217 Messages

29 mai 2006, 19:42

LE soucis peut venir du fait d'un evenemeent onload dans la balise body qui ecrase l'evenement défini par ton script précédemment.
Si c'est le cas il te suffit de rajouter dans l'attribut onload de ta balise body l'appel à la fonction montre.
<body onload="fonction1();fonction2();montre();">

Eléphanteau du PHP | 18 Messages

30 mai 2006, 13:54

c'était bien ça mojorisin :)
Merci à vous 2.