2012-01-16 3 views
3

私はこのグローバル関数を作っています。これは単に要素のtransformプロパティを変更します。 これは私が持っているものです。オペラのためのCSS変換のjavascriptアクセスとie

function transform(element, value) { 
    if(element.style.webkitTransform) element.style.webkitTransform = value; 
    else if(element.style.MozTransform) element.style.MozTransform = value; 
} 

私はオペラを追加したい、つまり上記の機能を追加したいと思います。私はオペラをテストすることができるので、私はオペラを持っていますが、私は9は持っていません。また、どのようにオペラにもアクセスできます。誰でも助けてくれますか?

私は、あなたはいつもちょうどそれらすべてを設定することができ、この

function transform(element, value) { 
    if(element.style.webkitTransform) element.style.webkitTransform = value; 
    else if(element.style.MozTransform) element.style.MozTransform = value; 
    else if(element.style.msTransform) element.style.msTransform = value; 
    else if(element.style.oTransform) element.style.oTransform = value; 
} 
+0

こんにちは、jQueryUiのようなよく知られているjsフレームワークを使用することができます。ここではこれらのすべてが既に実装されており、素晴らしいパフォーマンスがあります。 – vaugham

+1

@vaughamはい、私はjQueryを認識していますが、私はそれから離れようとしています。私はまだjqueryの代わりに新しいものを使うべきだと思います。 – Achshar

答えて

9

ような何かをしたいです。他のブラウザは、理解できないスタイルを無視します。以下のようなオペラの古いバージョン、プレストエンジンに基づいて、あなたはCSS 2D変換の「早期」実装の副作用を軽減するために精度を強制的に行う必要があります、と

function transform(element, value) { 
    element.style.webkitTransform = value; 
    element.style.MozTransform = value; 
    element.style.msTransform = value; 
    element.style.OTransform = value; 
} 
+0

しかし、それはコンソールでエラーをスローするでしょうか?また、私はオペラを持っていて、 'oTransform'は動作していないようです:O – Achshar

+0

okそれはエラーをスローしませんが、 'oTransform'は間違いなく最新のオペラでは動作しません。私は自分のマシンにie9がインストールされていないため、チェックできません。 – Achshar

+2

@Achshar: 'element.style.OTransform = value; 'を試してください。 –

0

var action = "scale(" + value.toPrecision(4) + ")"; 
element.style.transform = action; 
element.style.oTransform = action; 

I現代の実装に悪影響を及ぼすとは思わない。

関連する問題