Pour ma première utilisation de JavaScript, j'ai voulu faire un menu déroulant pour mon site.
Le principe : une image où, lorsque le curseur de la souris passe, un menu se déroule de la gauche vers la droite.
Le problème : je n'ai pas trouvé d'autre solution que la définition d'une zone "sensible" pour générer l'apparition du menu. Si je ne le fais pas, dès que le curseur arrive dans le haut de la page, le menu apparait. Mais, avec la définition de cette zone, je me retrouve à ce que le menu apparaisse dès que le curseur s'en approche (donc, même lorsqu'il n'est pas encore sur l'image). Si je réduis la zone pour qu'elle ne soit que sur l'image, le menu n'apparait pas du tout.
Si quelqu'un a une idée pour résoudre ce problème, je l'en remercie d'avance.
Voici mon code :
CODE-BOX
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="content-type">
<title>test</title>
<style type="text/css">
#menu_pal li:hover > .sous_menu {display : block; background-color: red;}
</style>
<script type="text/javascript">
<!--
window.onload=affiche;
function affiche(id)
{
for (var i = 1; i<=4; i++) {
if (document.getElementById('ssmenu'+i))
{document.getElementById('ssmenu'+i).style.display='none';}
}
if (document.getElementById(id))
{document.getElementById(id).style.display='block';}
}
//-->
</script>
</head>
<body
style="direction: ltr; background-image: url(../images/Green.jpg);">
<div>
<ul id="menu_pal">
<div style="position: absolute; width: 200px;"
onmouseover="java script:affiche('ssmenu1');"
onmouseout="java script:affiche('');">
<a href="#"><img src="../images/menu.gif"
border="0"></a>
<ul style="font-weight: bold; color: rgb(0, 0, 102);"
id="ssmenu1">
<div style="position: absolute; top: 50px; left: 110px;"><a
href="carriere.html" style="text-decoration: none;">Sa
carrière</a></div>
</ul>
</div>
</ul>
</div>
</body>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="content-type">
<title>test</title>
<style type="text/css">
#menu_pal li:hover > .sous_menu {display : block; background-color: red;}
</style>
<script type="text/javascript">
<!--
window.onload=affiche;
function affiche(id)
{
for (var i = 1; i<=4; i++) {
if (document.getElementById('ssmenu'+i))
{document.getElementById('ssmenu'+i).style.display='none';}
}
if (document.getElementById(id))
{document.getElementById(id).style.display='block';}
}
//-->
</script>
</head>
<body
style="direction: ltr; background-image: url(../images/Green.jpg);">
<div>
<ul id="menu_pal">
<div style="position: absolute; width: 200px;"
onmouseover="java script:affiche('ssmenu1');"
onmouseout="java script:affiche('');">
<a href="#"><img src="../images/menu.gif"
border="0"></a>
<ul style="font-weight: bold; color: rgb(0, 0, 102);"
id="ssmenu1">
<div style="position: absolute; top: 50px; left: 110px;"><a
href="carriere.html" style="text-decoration: none;">Sa
carrière</a></div>
</ul>
</div>
</ul>
</div>
</body>
