2012-02-01 147 views
0

当页面加载jQuery时,我正在淡入一些文本。在IE 8和更低版本中,文本的opactity转换看起来不太流畅,因此想要将其删除。所有浏览器,但IE浏览器的jquery fadeIn()

有没有一种方法可以覆盖只有IE8和更少的fadeIn()。我可以使用unbind.('fadeIn')具有以下js文件:

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

回答

2

内,您的IE特定的JS文件可以覆盖fadeInfadeOut功能是这样的:

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

这将导致由.show().hide()功能被处理.fadeIn().fadeOut()电话。这也将保持连锁能力不变。

这里是一个演示:http://jsfiddle.net/ttGk5/

0

你可以用以下命令来检查用户代理在javascript:

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

} 
+0

我相信这个问题是关于如何映射'.fadeIn()''到.show()'和'.fadeOut()''到.hide()'为OP已经说明了如何检测任何低于版本9的IE浏览器。 – Jasper 2012-02-01 23:21:23

+0

@Jasper嗯,好吧,我想我误解了OP的问题。我很抱歉。 – 2012-02-01 23:23:29

0

您将需要重新定义的功能,而不是简单地取消绑定它们。取消绑定也会删除绑定到元素的事件,因此在这里不会产生预期的效果。

jQuery: override fadein/fadeout effects

你可能要重新定义淡入()和淡出()别名展()和隐藏()。

相关问题