2009-10-18 5 views

Répondre

0

Utilisez le cas hover() et la portée que vos actions aux éléments pertinents:

$("div.mama").hover(function() { 
    $(this).find("div.son").show(); 
}, function() { 
    $(this).find("div.son").hide(); 
}); 

Il y a beaucoup de variations sur la façon dont vous pouvez limiter à seuls les enfants de l'élément concerné .

+0

Comment cela très positif et facile à comprendre. Merci beaucoup! – anhtran

1

Si vous vous demandez comment cacher que les blocs « .SON » à l'intérieur de chaque bloc « .mama », alors ce serait quelque chose comme ceci:

$('.mama').each(function() { 
    var mama = $(this); 
    mama.hover(
    function() { mama.find('.son').show(); }, 
    function() { mama.find('.son').hide(); } 
); 
}); 
+0

Il n'y a pas besoin de la complexité supplémentaire de ceci. Vois ma réponse. – cletus

+0

Si nous faisons comme ceci: ... $ ('.mama') ... est seulement le premier bloc est en vigueur. Nous devons faire comme ceci: ... $ ("div.mama") ... Merci! – anhtran

1

si tout ce que vous faites est afficher ou cacher du contenu, vous n'avez pas besoin de jQuery. CSS a déjà cette fonctionnalité

.mama .son { 
     display:none; 
} 

.mama:hover .son { 
     display:block; 
} 
+0

IE6 ne prend pas en charge: planer sur les non-ancres. – cletus

+0

Je donne juste un exemple simple à d'autres problèmes complexes en utilisant JQuery. Merci! – anhtran