2010-05-29 4 views
5

J'ai une application créant un tas de divs à travers une boucle.jquery boutons show spécifiques sur hover

Chaque div a la classe "produit"

il ressemble

<div class="product"> 
     !.....stuff here ....! 
     <div class="show_on_hover">...buttons here... </div> 
</div> 

donc il y a environ 12 de ces mêmes divs par page.

Je voudrais passer la souris sur une div spécifique et afficher la div spécifique "show_on_hover" qui est initialement définie pour afficher: none.

$('.product').hover(function() { 
    $(.show_on_hover).show(); 
    }, 
    function() { 
     $(.show_on_hover).hide(); 
    } 
); 

C'est ce que j'ai à ce jour, mais il affiche tous les .show_on_hovers sur la page alors je me demande comment obtenir que celui spécifique que vous avez plus de montrer moused. Cet effet est visible sur YouTube lorsque vous passez la souris sur l'un des commentaires, et certains outils de commentaires apparaissent.

Merci!

Répondre

11

find trouverez votre .show_on_hover divs à l'intérieur du planétaire .product. Essayez ceci:

$('.product').hover(function() { 
     $(this).find('.show_on_hover').show(); 
    }, 
    function() { 
     $(this).find('.show_on_hover').hide(); 
    } 
); 
+0

yup je l'ai compris juste après avoir posté heh. Merci quand même! la dernière partie de cela devrait être $ (this) .find ('. show_on_hover'). hide(); sinon les produits commencent à disparaître. :) – jim

1

Essayez $ ('de show_on_hover.', Ce) .show()/hide()

Ajout du second param à la fonction jQuery va limiter la recherche à être à l'intérieur que. élément. Dans ce cas, ce sera le div sur lequel on clique.