11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,
J'ai un problème pour afficher le sous-menu d'un menu déroulant.
Voici mon code html :

<ul id="hmenu">
	<li onmouseout="hide(1)">
		<a href="#" onmouseover="show(1)">lien 1</a>
		<ul id="sousmenu1">
			<li><a href="#">lien 1.1</a></li>
			<li><a href="#">lien 1.2</a></li>
			<li><a href="#">lien 1.3</a></li>
		</ul>
	</li>
	<li onmouseout="hide(2)">
		<a href="#" onmouseover="show(2)">lien 2</a>
		<ul id="sousmenu2">
			<li><a href="#">lien 2.1</a></li>
			<li><a href="#">lien 2.2</a></li>
			<li><a href="#">lien 2.3</a></li>
		</ul>
	</li>
</ul>

css :

#hmenu ul
{
	visibility: hidden;
}

Javascript :

function show(id)
{
	document.getElementById("sousmenu"+id).style.visibility = "visible";
}
function hide(id)
{
	document.getElementById("sousmenu"+id).style.visibility = "hidden";
}


Le problème est que lorsque le lien du menu est survolé, le sous-menu s'affiche mais il disparait dès que la souris ne le survol plus, même si celle-ci survole toujours le <li>.

Merci pour votre aide Smiley cligne

NB : je ne PEUX PAS utiliser display à la place de visibility
As-tu essayé cemenu
en remplaçant display:none par visibility: hidden et inversement

Smiley cligne
Modifié par chmel (31 Mar 2006 - 13:19)