11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,
Je cherche à faire un menu déroulant, j'ai utilisé le code suivant trouvé sur ce site. Mais lorsque la souris quitte le menu et se place à sa droite, à sa gauche ou au dessous, le menu ne se referme pas. Comment faire ? Merci !

<div id="menu">
<dl>
<dt onmouseover="javascript:montre();"><a href="" title="Retour &agrave; l'accueil">Accueil</a></dt>
</dl>
<dl>
<dt onmouseover="javascript:montre('smenu1');">Menu1</dt>
<dd id="smenu1">
<ul>
<li><a href="droitetstatut.html">Sousmenu1-1</a></li>
<li><a href="#">Sousmenu2-2</a></li>
</ul>
</dd>
</dl>
<dl>
<dt onmouseover="javascript:montre('smenu2');">Menu2</dt>
<dd id="smenu2">
<ul>
<li><a href="#">Sousmenu2-1</a></li>
<li><a href="#">Sousmenu2-2</a></li>
</ul>
</dd>
</dl>
</div>
</div>


Et le 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';}
}
Modifié par adrien555 (12 Jun 2008 - 15:52)
Bon, j'ai finalement ajouté onmouseout="javascript:montre();"
Là, le menu se referme sans problème, sauf qu'on ne peut plus cliquer que le sous-menu...
Quelqu'un peut-il m'aider ?
Merci !