1

次のような YUI2 コード (v2.8.1) があります。

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);

それは何年もうまく機能しており、使用できるかどうか、または(IEの場合)不透明にするためstyle.opacityにIEを使用する必要があるかどうかを自動的に決定します。style.filterさまざまな理由から、このコードを YUI3 に移植する価値はありません。

IE 10 では (標準モードで) プロパティがなくなりstyle.filter、標準プロパティのみがサポートされstyle.opacityます。それはすべて良いことですが、私が実行している YUI2 バージョンは IE 10 について認識しておらず、どうやら機能しなくなったstyle.filterプロパティをまだ使用しているようです。

opacityそれで、私の質問は、IE10 と互換性があり、そのプロパティが存在する IE バージョンのプロパティを 使用する YUI2 の更新があるかどうかです。

単純なスタイル設定であれば回避できますが、YUI アニメーションが多数あり、それらを回避する簡単な方法を見つけることができません (時間をかけたくありません)。

Yahoo は YUI2 でこれを修正しましたか? YD.setStyle()特に内部的に呼び出すアニメーション関数について、回避策を知っている人はいますか?

4

1 に答える 1

0

私は自分自身の質問に対する答えを見つけたと思います。YUI2 v2.9.0 では、setStyle()機能検出を使用するように機能が変更されたため、機能検出style.opacityをサポートするブラウザーで適切に使用され、サポートされていないstyle.filter場合にのみ IE が使用されるようになりstyle.opacityました。

ブラウザーの検出が良くなく、機能の検出が優れている理由の代表的な子が必要な場合、これは完璧な例です。YUI2 はもともとブラウザー検出を使用していたため、IE10 では機能しなくなりました。最初に機能検出を使用していた場合、YUI2 の古いバージョンは、更新を必要とせずに IE10 で動作します。

ここで、コードを実行して YUI v2.9.0 にアップグレードするサイトを取得できるかどうかを確認します。そうでない場合は、厄介な回避策をコーディングする必要があります。

于 2012-10-04T00:00:36.657 に答える