2010-09-10 4 views
2

je le JavaScript (avec jQuery)Afficher Renv cependant Hover

$(function() { 

    $(".btnDesc").click(function() { 
    $("#desc").slideToggle("slow"); 
    $(this).toggleClass("active"); 
    }); 

suivant Quand je change .click(function()-.hover(function(), comme prévu, planant au-dessus du lien avec class="btnDesc" montre la div au lieu de cliquer, je aimerait le faire apparaître lorsque vous arrêtez de survoler le lien, le div reste jusqu'à ce que vous cliquez sur un bouton de masquage. Avec ça comme je l'ai, une fois que vous arrêtez de survoler le lien, la div glisse vers le haut.

Répondre

2

Vous devez utiliser mouseover au lieu de hover, qui capture l'événement de la souris se déplaçant sur le lien, mais ne lie pas lorsque la souris quitte le lien.

+0

Merci beaucoup. (Je vais accepter cette réponse une fois que Stack Overflow me le permet ...) – Christopher

-1

La fonction de survol de jquery nécessite deux fonctions: les fonctions de survol et de sortie de souris ... p. Ex.

$(".btnDesc").hover(
     function() { 
      // code to run when mouse hovers in 
      $("#desc").show("slow"); 
      $(this).toggleClass("active"); 
     }, 
     function() { 
      // code to run when mouse hovers out 
      $("#desc").hide("slow"); 
      $(this).toggleClass("active"); 
     } 
    ); 

Cela affichera votre élément desc lorsque vous passez la souris dessus, et le cachera lorsque vous le survolez. La documentation de jquery sur cette fonction est également très bonne si vous êtes bloqué.

+0

Ce n'est pas précis, il peut * prendre * deux fonctions, ou juste un comme il a actuellement. La documentation esquisse en passant une * ou * deux fonctions :) http://api.jquery.com/hover/ –