2012-02-01 4 views
0

Je m'évanouis dans du texte lorsque la page est chargée avec jQuery. La transition opactity pour le texte dans IE 8 et moins ne semble pas très lisse et donc donc vouloir l'enlever.jquery fadeIn() sur tous les navigateurs sauf IE

Y at-il un moyen que je peux remplacer le fadeIn() pour seulement IE8 et moins. Puis-je utiliser un unbind.('fadeIn') avec le fichier js suivant:

<!--[if lte IE 8]><script type="text/javascript" src="js/lte-ie8.js"></script><![endif]-->

Répondre

2

l'intérieur de votre fichier JS spécifiques IE vous pouvez remplacer les fonctions fadeIn et fadeOut comme ceci:

$.fn.fadeOut = function() { 
    return this.hide(); 
}; 
$.fn.fadeIn = function() { 
    return this.show(); 
}; 

Cela se traduira par .fadeIn() et .fadeOut() appels traitées par les fonctions .show() et .hide(). Cela permettra également de conserver la capacité de chaîne intacte.

Voici une démo: http://jsfiddle.net/ttGk5/

0

Vous pouvez vérifier la useragent en javascript avec les éléments suivants:

if (navigator.userAgent.match(/\bMSIE\b/)) { 

} 
+0

Je crois que la question concerne la façon de la carte '.fadeIn()' 'à .show()' et '.fadeOut()' 'à .hide()' comme l'OP a indiqué comment détecter n'importe quel navigateur d'IE moins que la version 9. – Jasper

+0

@Jasper Hmm bien, je suppose que j'ai mal compris la question d'OP. Mes excuses. –

0

Vous devrez redéfinir les fonctions au lieu de les déliant simplement . Unbind supprime également un événement lié à un élément, ce qui n'aura pas l'effet escompté ici.

jQuery: override fadein/fadeout effects

Vous voulez probablement redéfinir fadeIn() et fadeOut() pour afficher l'alias() et hide().

Questions connexes