Bonjour,
Je crée actuellement un site internet pour une entreprise.
J'ai choisi de faire un menu déroulant dans lequel les liens sont récupérés dans une base de donnée, afin de pouvoir rajouter des pages dans les menus facilement etc.

Le problème, c'est que quand je passe la souris sur le menu, celui ci se déroule correctement, mais quand la souris s'en vas, soit elle déroule un autre menu (et donc le menu précédent se repli), soit elle ne survolle pas un autre menu, et donc le menu déplié reste déplié.

J'aimerai trouver un moyen de le replier.

J'ai testé avec OnMouseOut, mais dès que la souris quitte la premiere case du menu, ca le ferme, les sous menus devienne donc inaccessible.

Comment puise-je faire ?
J'ai uploadé mon site d'essai sur mon ftp: http://haywire.free.fr

Voici le code du menu (ce code est recopié autant de fois qu'il y a de boutons) :
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
<dl>			
	<dt onmouseover="javascript:montre('smenu1');">L association</dt>
	<dd id="smenu1">
		<ul>
			<?php
                        $sous2="Select * from sous_menu where id_menu=1";
                        $Recup = mysql_query($sous2, $connexion);
                        while ($resultat = mysql_fetch_row($Recup))
                                {
                                echo '<li><a href="index.php?id='.$resultat[0].'">'.$resultat[2].'</a></li>';
                                }
                        ?>
		</ul>
 
	</dd>
</dl>
Voici la fonction javascript appelée:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
<script type="text/javascript">
	window.onload=montre;
	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';}
	}
</script>
Merci.