11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour !

Je suis presque au bout, mais il me manque une petite connaissance événementielle que certains pourront peut être m apporter ...

Voila j utilise le menu décrit ici : lien

Le problème , c'est que le joli menu ne s efface que si l on exécute un clic sur la page...

Je recherche le moyen de le faire disparaitre au bout de 4 secondes par exemple. Le code est clair mais pas moyen même en trifouillant les settimeout() et tout et tout , mais je n arrive qu'à des résultats partiellement satisfaisants.

Si une bonne âme Javascript peut m éclairer ! Smiley cligne
Je te donne le point de départ:


var mouseOverMenu = false;

$("#menu ul").hover(function() {
    
   mouseOverMenu = true;

}, function() {

   mouseOverMenu = false;

   setTimeout(function() {
      if (mouseOverMenu === false)
         $(this).hide();
   }, 750)

})


... ensuite tu devras gérer les setTimeout, à savoir le supprimer, si il existe, lorsque la souris survole ton menu ouvert, histoire d'éviter des effets de bord ;=
peut tu m orienter ou deposer ce bout de code ?

Dans le document.ready ou dans la fonction du menu ?

Le truc de la variable global pour savoir si un menu est visible , j y avais bien penser mais j arrive au même résultat ...

(j aime pas faire le boulet ...)