Page 1 sur 1

Menu déroulant

Posté : 14 janv. 2007, 13:13
par cmoi
Bonjour,

sur mon site (www.forum-formation.fr) j'ai un code js pour un menu déroulant. Cela fonctionne très bien, sauf que le menu reste souvent déroulé et qu'il faut cliquer en dehors pour le fermer.

N'y aurait-il pas une astuce pour qu'il se ferme tout seul dès qu'on n'est plus dessus ?

Merci pour votre aide.

Posté : 14 janv. 2007, 13:26
par momox
Utilise l'attribut onmouseout ;)
@+

Posté : 14 janv. 2007, 13:40
par cmoi
Voilà le code

Code : Tout sélectionner

<script LANGUAGE="Javascript"> <!-- var isNS = (navigator.appName == "Netscape") ? 1 : 0; var EnableRightClick = 0; if(isNS) document.captureEvents(Event.MOUSEDOWN||Event.MOUSEUP); function mischandler() { if(EnableRightClick==1) { return true; } else {return false; }} function mousehandler(e) { if(EnableRightClick==1){ return true; } var myevent = (isNS) ? e : event; var eventbutton = (isNS) ? myevent.which : myevent.button; if((eventbutton==2)||(eventbutton==3)) return false;} function keyhandler(e) { var myevent = (isNS) ? e : window.event; if (myevent.keyCode==96) EnableRightClick = 1; return;}document.oncontextmenu = mischandler; document.onkeypress = keyhandler; document.onmousedown = mousehandler; document.onmouseup = mousehandler; //--> </script>
onmouseout s'insèrerait comment ?

Posté : 14 janv. 2007, 14:13
par momox
Dans le code html tu peux le mettre non ?
@+

Posté : 14 janv. 2007, 15:28
par cmoi
ah ben oui je peux :?
mais comment l'écrire ? document.onmouseout= ???

Posté : 14 janv. 2007, 17:04
par Ryle
Ce n'est pas à mettre dans le javascript, mais à insérer dans le code html des menus déroulés. Du coup il s'agit simplement de l'attribut onMouseOut="..." qui déclenchera l'action de fermeture :)

Posté : 14 janv. 2007, 17:41
par cmoi
donc j'ai intégré le onmouseout ainsi

Code : Tout sélectionner

<div Id="menu1" class="menu" onMouseOut="..." >
mais ça ne change rien. Le menu reste déroulé

Posté : 14 janv. 2007, 18:08
par momox
Oui mais faut faire une fonction qui ferme le menu, sinon c'est sur que ca ne fonctionnera pas ;)
@+

Posté : 14 janv. 2007, 18:10
par cmoi
et ça se fait comment cette fonction ?

Posté : 14 janv. 2007, 19:21
par momox
Pour commencer, il faut savoir quel est le code html de ton menu ;)
@+

Posté : 15 janv. 2007, 00:01
par cmoi
Le code ressemble à ça

Code : Tout sélectionner

<div Id="menu1" class="menu" onMouseOut="..." > <div Id="menuItem1_1" class="menuItem"><font face="Arial, Helvetica, sans-serif" size="1" color="#666666"><a href="http://europoleformations.free.fr/formation/crea_OF.htm" target="cadre">créez votre fiche</a></font></div>

Posté : 15 janv. 2007, 00:14
par momox
Tu peut faire un onmouseout="this.style.display='none';"
Normalement ca devrait marcher ;)

Posté : 15 janv. 2007, 00:30
par cmoi
Tu peut faire un onmouseout="this.style.display='none';"
Normalement ca devrait marcher ;)
Normalement ... sauf que les barres disparaissent l'une après l'autre !