Problème menu

Problème menu - HTML/CSS - Programmation

Marsh Posté le 18-05-2009 à 11:13:16    

Bonjour à tous !
J'ai un problème au niveau de l'affichage de mon menu. Dès que je passe ma souris sur un lien il s'affiche, dès que je m'éloigne du menu qui apparait le menu disparait.
Mon problème est que j'aimerais que le menu se ferme automatiquement, si on passe la souris sur le lien, le menu s'ouvre, si on ne va pas dans le menu qui s'est affiché en dessous du lien alors on ferme ce menu après un certains temps. J'y arrive aussi mais je n'arrive pas à répéter l'action plusieurs fois.
 

Code :
  1. <a href="#" onmouseover="$('menu').appear(); return false;">test</a>
  2. <script type="text/javascript">
  3.      var menu_a_cacher = true;
  4.      setTimeout("cacherMenu()", 4000);
  5. </script>
  6. <div id="menu" onmouseout="$('menu').fade(); return false;" style="display:none; width:200px; height:100px; background:#c2defb; border:1px solid black;"></div>


 
Merci pour vos réponses ! :)

Reply

Marsh Posté le 18-05-2009 à 11:13:16   

Reply

Marsh Posté le 18-05-2009 à 15:13:03    

Sans le code JS de tes fonctions, on va avoir du mal...
 
Tu utilises un debugger JS ?

Reply

Marsh Posté le 19-05-2009 à 09:23:26    

Non je n'utilise pas de debugger. Si tu en connais un gratuit hésite pas ;)
J'ai résolu mon problème maintenant je fonctionne différemment. Maintenant il faut que lorsque je passe ma souris sur le lien, le menu s'affiche, si je reste sur le lien sans aller dans le menu, le menu se ferme au bout d'un certain temps, pareil si je pars du lien sans aller dans le menu. Si je vais dans le menu et que j'y reste le menu doit resté la et ne pas disparaitre (et c'est ça mon problème je comprends pas pourquoi pourtant j'utilise des boolean). Et pour finir quand je pars du menu, il disparait tout de suite, ça ça marche.
Voici le code de la page HTML :

Code :
  1. <head>
  2.         <title>Page sans titre</title>
  3.         <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  4.         <script src="script/prototype.js" type="text/javascript"></script>
  5.         <script src="script/scriptaculous.js" type="text/javascript"></script>
  6.         <script src="script/script.js" type="text/javascript"></script>
  7.     </head>
  8.     <body>
  9.         <a href="#" onmouseover="afficherMenu();" onmouseout="t=setTimeout('cacherMenu(true)', 3000);" style="font-size:20px;">test</a>
  10.         <div id="menu" onmouseover="cacherMenu(false);" onmouseout="cacherMenu(true);" style="display:none; width:200px; height:100px; background:#c2defb; border:1px solid black;"></div>
  11.     </body>


J'utilise la librairie scriptaculous pour avoir de beaux effets ^^
Voici le code JS :

Code :
  1. function afficherMenu()
  2. {
  3.     new Effect.Appear('menu');
  4. }
  5. function cacherMenu(test)
  6. {
  7. if(test == true)
  8. {
  9.         new Effect.Fade('menu');
  10.         clearTimeout(t);
  11. }
  12. else
  13. {
  14.         //Ici je n'ai rien à faire juste à laisser le menu affiché.
  15. }
  16. }


Voila merci de votre aide.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed