JavaScriptを使用して-webkit-transform: rotate()
プロパティを動的に変更したいのですが、よく使用されるsetAttribute
が機能しません。
img.setAttribute('-webkit-transform', 'rotate(60deg)');
.style
も機能していません...
これをJavaScriptで動的に設定するにはどうすればよいですか?
JavaScriptスタイル名はWebkitTransformOrigin
および WebkitTransform
です
element.style.webkitTransform = "rotate(-2deg)";
WebKit here のDOM拡張機能リファレンスを確認してください。
最も一般的なベンダーのJavaScript表記は次のとおりです。
webkitProperty
MozProperty
msProperty
OProperty
property
次のようなインライン変換スタイルをリセットします。
element.style.webkitTransform = "";
element.style.MozTransform = "";
element.style.msTransform = "";
element.style.OTransform = "";
element.style.transform = "";
そして、jQueryを使用してこのように:
$(element).css({
"webkitTransform":"",
"MozTransform":"",
"msTransform":"",
"OTransform":"",
"transform":""
});
ブログ投稿JavaScriptによるベンダープレフィックスのコーディング(2012-03-21)を参照してください。
使用してみてください
img.style.webkitTransform = "rotate(60deg)"
setAttribute
を介してそれを行いたい場合は、style
属性を次のように変更します。
element.setAttribute('style','transform:rotate(90deg); -webkit-transform: rotate(90deg)') //etc
これは、他のすべてのインラインスタイルをリセットし、必要なスタイルプロパティの値のみを再設定する場合に役立ちますが、ほとんどの場合、それは望ましくありません。だから誰もがこれを使うことを勧めた。
element.style.transform = 'rotate(90deg)';
element.style.webkitTransform = 'rotate(90deg)';
上記は次と同等です
element.style['transform'] = 'rotate(90deg)';
element.style['-webkit-transform'] = 'rotate(90deg)';
Dオブジェクトをアニメーション化するには、コードを使用します
<script>
$(document).ready(function(){
var x = 100;
var y = 0;
setInterval(function(){
x += 1;
y += 1;
var element = document.getElementById('cube');
element.style.webkitTransform = "translateZ(-100px) rotateY("+x+"deg) rotateX("+y+"deg)"; //for safari and chrome
element.style.MozTransform = "translateZ(-100px) rotateY("+x+"deg) rotateX("+y+"deg)"; //for firefox
},50);
//for other browsers use: "msTransform", "OTransform", "transform"
});
</script>