这是目前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)';
请确保您大写属性名称('Transform'而不是'transform')。我发现这很难... – 2013-06-12 20:11:38