J'ai une liste de divs (exemple simplifié)Afficher div sur mouseover sur une autre div et fermez toutes les autres divs avec la même classe
<div class="title">text</div>
<div class="description">text</div>
<div class="title">text</div>
<div class="description">text</div>
<div class="title">text</div>
<div class="description">text</div>
.description
est caché à la page charge quand je passe la souris sur un titre je montre la description de ce titre, lorsque je survole un autre titre, je montre la description de ce titre, mais ce que je veux aussi faire est de cacher ce dernier .description
qui était ouvert.
J'ai essayé avec mouseout
, mouseleave
etc. mais je n'ai pas réussi à le faire fonctionner. Aucune suggestion?
$('.title').mouseover(function() {
$(this).next().fadeIn('fast');
});
$('.title')..mouseleave(function() {
$(this).next().slideOut('fast');
});
Avec ça, je cache la description si je survole le même titre mais pas d'autres titres.
jQuery.fn.fadeToggle = function (speed, easing, callback) {
return this.animate({ opacity: 'toggle' }, speed, easing, callback);
};
$('.title').mouseover(function() {
$(this).next().fadeToggle('fast');
});
ahh trop facile, merci (attendre quelques minutes à la solution accepter) – martin
une fois que je l'ai commencé à montrer tout description il y en aura toujours un, y a-t-il un moyen de masquer toutes les descriptions si je n'ai pas eu la souris sur un .title ou .description depuis un certain temps? – martin
@martin: Vous pouvez utiliser la méthode mouseleave de manière similaire et cacher tous les éléments de description comme je l'ai montré :) – Sarfraz