2012-10-03 50 views
1

不工作,我有一些YUI2代碼(v2.8.1),看起來像這樣:YUI2不透明的setStyle在IE10

YAHOO.util.Dom.setStyle('foo', 'opacity', 0.5); 

和:

var t = new YAHOO.util.Anim(this._splashSlide.shutter, {opacity: {from: 1.0, to: 0}}, 1, YAHOO.util.Easing.easeBoth); 

它一直在努力罰款若干年,它會自動決定是否可以使用style.opacity或者(對於IE)它是否必須使用IE style.filter來實現不透明度。出於各種原因,將此代碼移植到YUI 3是不值得的。

隨着IE 10,它(在標準模式下)不再具有style.filter屬性,只支持標準style.opacity屬性。這很好,但我遇到的YUI2版本不知道IE 10,而且顯然仍在使用不再適用的style.filter屬性。

所以,我的問題是是否有更新YUI2 IE10兼容,並使用opacity屬性的IE版本,其中該屬性存在?

如果只是一個簡單的樣式設置,我可以解決它,但我有一些YUI動畫,我找不到一個簡單的方法來解決這些問題(我也不想花時間做所以)。

雅虎是否已經爲YUI2修復了這個問題?任何人都知道解決方法,特別是對於內部調用YD.setStyle()的動畫函數?

+0

YUI 2自2009年以來一直處於維護模式(當YUI 3發佈時),所以它不會看到任何支持IE10的新開發。 –

回答

0

我想我找到了自己的問題的答案。 YUI2 v2.9.0將其setStyle()功能更改爲使用功能檢測功能,以便在支持該功能的瀏覽器上正確使用style.opacity,並且在不支持style.opacity時僅使用IE的style.filter

如果有人想要一個海報孩子爲什麼瀏覽器檢測不好並且功能檢測很好,這就是一個很好的例子。由於YUI2最初使用瀏覽器檢測,現在它在IE10上被破壞。如果他們首先使用了功能檢測,則舊版本的YUI2可以在IE10上工作而不需要更新。

現在,看看我的代碼運行的網站是否可以升級到YUI v2.9.0。如果沒有,我將不得不編寫一個混亂的解決方法。