2013-05-15 9 views
5

GWTの画像にCSS3変換スタイルを適用したいと思います。たとえば、GWT 2.5の画像にCSS3スタイルを適用するには

imageZoom.getElement().getStyle().setProperty("-webkit-transform", "translate3d("+x+"px, "+y+"px, 0px)"); 

ここで、xとyは画像内のマウスカーソルの座標です。 これは、エラーを
として示しています。 Casused By java.lang.AssertionError:スタイル名は、キャメルケース形式である必要があります。
私はCamelCase Convertorをも使用している以下の

    1-のWebKit-変換
    2-のWebkit-変換
    3-のWebkit-変換

にスタイルプロパティの名前を変更したがそれは入力されたものと同じ結果を示しています。アドバンス

答えて

5

おかげで、私は、特にGWTわからないんだけど、接頭辞を使用する際にJavaScriptで、あなたはハイフンを削除します。 webkitとmsは小文字ですが、OとMozは大文字です。ここでバニラJavaScriptでのWebKitに変換を設定するためのいくつかのコードは次のとおりです。

var el = document.getElementById("test"); 

el.style.webkitTransform = 'translate3d(100px, 100px, 15px) rotate(10deg)'; 

そしてここでは、他の接頭辞とprefixlessです。注意prefixlessは小文字で始まります:http://jsfiddle.net/qScux/

EDIT:ここ

el.style.MozTransform = 'translate3d(100px, 100px, 15px) rotate(10deg)'; 
el.style.msTransform = 'translate3d(100px, 100px, 15px) rotate(10deg)'; 
el.style.OTransform = 'translate3d(100px, 100px, 15px) rotate(10deg)'; 
el.style.transform = 'translate3d(100px, 100px, 15px) rotate(10deg)'; 

が行動でそれのデモですGWTで

、それはなるだろう:

imageZoom.getElement().getStyle().setProperty("webkitTransform", "translate3d("+x+"px, "+y+"px, 0px)") 
+0

感謝@dstoreyはjsで余分なことを学んだが、それは近くにある。 –

+0

@ThomasBroyerありがとうマンそれは働いた。私は両方の答えに正しいとマークしたかった。 –

2

GWTがキャメルケースを確認するコードは次のとおりです。

private void assertCamelCase(String name) { 
    assert !name.contains("-") : "The style name '" + name 
    + "' should be in camelCase format"; 
} 

ですから、あなたの目標を達成することができます可能な方法でスタイルを設定することではなく、スタイルのプロパティ:

imageZoom.getElement().setAttribute("style", "-webkit-transform: translate3d("+x+"px, "+y+"px, 0px)"); 

また、あなたは、このプロパティを追加して割り当て、それのtoString作り、最初のスタイルを取得することができますスタイルを要素に戻します。

+0

ありがとう、本当にあなたの答えを感謝し、それを試したときに働いた。しかし、私は2つの答えを正しく与えるオプションがあることを望んでいました。( 気にしないでください。 –

+2

@Cyber​​Knight問題なし、前の答えが良い) –

+0

これは本当に良い答えです。ありがとうございました。 – Pero

関連する問題