jquery fadeIn()在所有浏览器上但IE

时间:2012-02-01 23:08:30

标签: jquery internet-explorer override unbind

当页面加载jQuery时,我正在淡入一些文本。 IE 8及更少版本中文本的不透明度转换看起来不是很平滑,因此要删除它。

有没有办法可以只覆盖IE8及更少的fadeIn()。我可以将unbind.('fadeIn')与以下js文件一起使用:

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

3 个答案:

答案 0 :(得分:2)

在IE特定的JS文件中,您可以覆盖fadeInfadeOut函数,如下所示:

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

这将导致.fadeIn().fadeOut()调用由.show().hide()函数处理。这也将保持链完整性。

以下是演示:http://jsfiddle.net/ttGk5/

答案 1 :(得分:0)

您可以使用以下内容检查javascript中的useragent:

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

}

答案 2 :(得分:0)

您需要重新定义功能,而不是简单地解除绑定。 Unbind也会删除绑定到元素的事件,因此这里没有预期的效果。

jQuery: override fadein/fadeout effects

您可能希望将fadeIn()和fadeOut()重新定义为别名show()和hide()。