Menu deroulant, probleme pour le renrouler

Résolu
Bonjour,

Comme l'indique le titre de mon message, j'ai réussi à créer un menu déroulant. Le petit problème, c'est que je n'arrive pas à faire de façon à se qu'il se replie (menu horizontal).

Le code :
<div id="menu">
<dl><dt onmouseover="javascript:montre();"><a href="" title="Retour à l'accueil">Accueil</a></dt> </dl>
<dl><dt onmouseover="javascript:montre();"><a href="" title="Les news">News</a></dt></dl>
<dl>
<dt onmouseover="javascript:montre('smenu1');">Documents</dt>
<dd style="display: none;" id="smenu1">
<ul>
<li><a href="#">Article DNA</a></li>
<li><a href="#">PV Comité 67</a></li>
</ul>
</dd>
</dl>
<dl><dt onmouseover="javascript:montre();"><a href="" title="Les équipes">Equipes</a></dt></dl>
<dl><dt onmouseover="javascript:montre();"><a href="" title="Le club">Club</a></dt></dl>
<dl>
<dt onmouseover="javascript:montre('smenu2');">Salles</dt>
<dd style="display: none;" id="smenu2">
<ul>
<li><a href="#">Bugeaud</a></li>
<li><a href="#">Cosec</a></li>
</ul>
</dd>
</dl>
<dl><dt onmouseover="javascript:montre();">
<a href="" title="Le club">Annuaire</a></dt></dl>

</div>
</body></html>

J'ai bien trouve la fonction onmouseover="montre();" sur divers forums, mais je ne trouve pas l'endroit ou la placer. Soit ca ne marche pas, soit le menu se replie en ayant survolé la premiere case.

Please hep me, merci par avance...
Configuration: Windows XP
Firefox 2.0.0.14

2 réponses

  1. on peut connaitre ta fonction montre() stp ? :)
    0
    1. bn j'en ai marre de squater ce site Oo
      ( en plus moi personne ne m'aide dc bn =/ lol )
      voila cmt moi je vois le script ( testé et il marche ;) )
      mets le au debut de ta page entre les balise <head></head>

      <script>
        <!--
        function montre(id){
          var d=document.getElementById(id);
          for(var i=1;i<=2;i++){
            if(document.getElementById('smenu'+i)){
              document.getElementById('smenu'+i).style.display='none';}}
          if(d){d.style.display='block';}}
        -->
      </script>
      
      0
    2. function montre(id)
      {
      var d = document.getElementById(id);
      for (var i = 1; i<=10; i++) {
      if (document.getElementById('smenu'+i)) {document.getElementById('smenu'+i).style.display='none';}
      }
      if (d) {d.style.display='block';}
      }
      0
    3. @BrachiorBrachior,

      Ton script ne fonctionne pas. J'ai l'impression qu'i y a une boucle sans fin, le menu de se replie pas et le curseur se transforme en sablier.
      0
  2. Nobody ?
    0
    1. tu m'expliques la difference entre ton script et le mien ? -__-
      apres si ca n'fct pas c'est que tu t'es planté dans ton code html
      tu devrais avoir un truc du genre:
      <dl>
        <dt id='menu' onmouseover="javascript:montre('smenu1');" onmouseout="javascript:montre();">menu</dt>
          <dd id='smenu1' onmouseover="javascript:montre('smenu1');" onmouseout="javascript:montre();">
            <a href='lien_1.htm'>Lien 1</a><br />
            <a href='lien_2.htm'>Lien 2</a><br />
            <a href='lien_3.htm'>Lien 3</a>
          </dd>
      </dl>
      0