Je donne ici un cas simplifié. J'ai 2 divs l'un sur l'autre. Lorsque mouseenter le premier (bleu) fadeOut et l'un derrière (rouge) fadeIn. Quand mouseleeve tout vient à la situation originale.jQuery mouseleave fast
Cela fonctionne bien. Le seul problème vient quand l'utilisateur mouseleeve rapide, probablement quand le div supérieur (bleu) est toujours là. Comment cela peut-il arriver à la situation d'origine dans ce cas?
Vous pouvez vérifier votre réponse ici: http://jsfiddle.net/Narcis/ywTBe/
HTML:
<div id="blue"></div>
<div id="red"></div>
CSS:
#blue{
position:absolute;
top:100px; left:100px;
width:100px; height:100px;
background:blue;
z-index:1;
}
#red{
position:absolute;
top:100px; left:100px;
width:100px; height:100px;
background:red;
z-index:0;
}
JQUERY:
$(function() {
$("#blue").mouseenter(function() {
$("#blue").fadeOut("normal");
$("#red").fadeIn();
});
$("#red").mouseleave(function() {
$("#blue").fadeIn("normal");
$("#red").fadeOut();
});
})
Ceci est une bonne option. Je vous remercie! – Nrc