這是目前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