2012-02-01 144 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

你可能要重新定義淡入()和淡出()別名展()和隱藏()。

相關問題