Menu déroulant

Eléphant du PHP | 440 Messages

14 janv. 2007, 13:13

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.
Débutant complet en php/mysql. Merci pour votre aide.

Mammouth du PHP | 1511 Messages

14 janv. 2007, 13:26

Utilise l'attribut onmouseout ;)
@+

Eléphant du PHP | 440 Messages

14 janv. 2007, 13:40

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 ?
Débutant complet en php/mysql. Merci pour votre aide.

Mammouth du PHP | 1511 Messages

14 janv. 2007, 14:13

Dans le code html tu peux le mettre non ?
@+

Eléphant du PHP | 440 Messages

14 janv. 2007, 15:28

ah ben oui je peux :?
mais comment l'écrire ? document.onmouseout= ???
Débutant complet en php/mysql. Merci pour votre aide.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

14 janv. 2007, 17:04

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 :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 440 Messages

14 janv. 2007, 17:41

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é
Débutant complet en php/mysql. Merci pour votre aide.

Mammouth du PHP | 1511 Messages

14 janv. 2007, 18:08

Oui mais faut faire une fonction qui ferme le menu, sinon c'est sur que ca ne fonctionnera pas ;)
@+

Eléphant du PHP | 440 Messages

14 janv. 2007, 18:10

et ça se fait comment cette fonction ?
Débutant complet en php/mysql. Merci pour votre aide.

Mammouth du PHP | 1511 Messages

14 janv. 2007, 19:21

Pour commencer, il faut savoir quel est le code html de ton menu ;)
@+

Eléphant du PHP | 440 Messages

15 janv. 2007, 00:01

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>
Débutant complet en php/mysql. Merci pour votre aide.

Mammouth du PHP | 1511 Messages

15 janv. 2007, 00:14

Tu peut faire un onmouseout="this.style.display='none';"
Normalement ca devrait marcher ;)

Eléphant du PHP | 440 Messages

15 janv. 2007, 00:30

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 !
Débutant complet en php/mysql. Merci pour votre aide.