Salut à tous,
J'aurais besoin de votre aide pour gérer un onmouseout sur un menu déroulant. Je m'explique : j'ai un menu déroulant dont voici une portion de code HTML:
Quand je fais un rollover sur un item, les sous-menus apparaissent (aucun souci jusque là...). J'ai géré cet événement grâce à une petite fonction javascript :
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <dl> <dt onmouseover="javascript:montre('smenu1');" onmouseout="javascript:cache('smenu1')";>Métiers</dt> <dd id="smenu1"> <ul> <li><a href="#">item 1</a></li> <li><a href="#">item 2</a></li> <li><a href="#">item 3</a></li> </ul> </dd> </dl>
Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 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';} }
J'ai essayé de gérer le onmouseout, pour que les sous-menus disparaissent lorsque le curseur n'est pas dessus, mais ma fonction ne marche pas comme je veux :
Quand je fais un rollover sur les sous-menus, ils disparaissent !
Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 function cache(id) { var d = document.getElementById(id); for(var i=1;i<=10;i++) { if(d){ //ou if(document.getElementById('smenu'+i)) document.getElementById('smenu'+i).style.display='none'; } } }
J'ai fait pas mal d'essais pour corriger ce bug, mais à chaque fois sans succès ! :-(
A l'aiiiiiide !
Partager