Effet de surbrillance jQuery avec le mode Cacher ne fonctionne pas sur IE
Question
J'ai un div pour montrer un message, je veux que le message apparaisse pendant quelques secondes et qu'il disparaisse ensuite jusqu'à ce qu'il disparaisse.
Je viens de définir une div normale et de la masquer lorsque la page se charge avec $ ('# mydiv'). hide ();
J'ai un bouton pour afficher la div avec l'effet souhaité. Pour cela, j'utilise:
$('#myDiv').fadeIn('fast').effect("highlight", { color: "green", mode:"hide" }, 5000);
Cela fonctionne parfaitement sur Firefox et Chrome, mais sur IE (essayé sur les versions 6, 7 et 8), il ne fonctionne que la première fois, après quoi le message n'apparaîtra pas.
S'il n'y a aucun moyen de réaliser cela dans IE, j'aimerais savoir comment puis-je faire un fadeOut ou quelque chose du genre APRÈS la fin de la surbrillance?
Merci de votre aide
La solution
Il semble que ce ticket jQuery soit lié à votre problème.
La solution que j'ai trouvée consiste à ajouter
$('#myDiv').removeAttr('style');
avant
$('#myDiv').fadeIn('fast')
.effect("highlight", { color: "green", mode:"hide" }, 5000);
pour effacer le problème de filtre IE.
Autres conseils
De manière générale, je ne chaîne pas les effets. Vous voudrez probablement utiliser un rappel à la place:
$('#myDiv').fadeIn('fast', function() {
$(this).effect("highlight", { color: "green", mode:"hide" }, 5000);
});