現在は 2015 年後半で、状況はわずかに変化しています。まず第一に、上記の大文字についての McBrainy のコメントは重要です。webkit
プレフィックスはになりましたWebkit
が、幸いなことに現時点では Safari でのみ使用されています。現在、 Chrome と Firefox の両方el.style.transform
がプレフィックスなしでサポートしています。IE もサポートしていると思います。以下は、当面のタスクに対するもう少し現代的なソリューションです。最初に、変換プロパティにプレフィックスを付ける必要があるかどうかを確認します。
var transformProp = (function(){
var testEl = document.createElement('div');
if(testEl.style.transform == null) {
var vendors = ['Webkit', 'Moz', 'ms'];
for(var vendor in vendors) {
if(testEl.style[ vendors[vendor] + 'Transform' ] !== undefined) {
return vendors[vendor] + 'Transform';
}
}
}
return 'transform';
})();
その後、単純なワンライナー呼び出しを使用しtransform
て、要素のプロパティを更新できます。
myElement.style[transformProp] = 'translate3d(0,' + dynamicY + 'px,0)';