2015-01-12 24 views
0

我有各自不同的元素與不同的轉換屬性,不重寫使用js的css轉換樣式?

.one{transform: rotateY(10deg)} 
.two{transform: rotateY(20deg)} 
//etc. 

,我tryng添加translateZ(通過JavaScript)這些轉換屬性。

如預期的那樣,自動添加此值會覆蓋預先存在的屬性。

有沒有簡單的方法來完成這件事?

(作爲一種解決辦法我想過使用transform-origin但我寧願避免這種情況,如果有可能)

+1

你可以發表一個最小的代碼示例來顯示問題嗎? – fcalderan

+0

總是有一種方法,但是設置一個新的'transform'內聯覆蓋之前的'transform',你需要設置一個既包含旋轉又包含翻譯的變換,但在javascript中獲取旋轉值也不容易,因爲'transform'返回一個矩陣。 – adeneo

+0

我會嘗試更改代碼以整合變換來源 – maioman

回答

1

只要你想做到這一點只有一次,你可以只Concat的那些字符串如

newTransform = element.style.getPropertyValue("transform") + "translateZ(..px)" 

如果您嘗試多次執行此操作,則需要檢查並可能在您的樣式字符串中替換,如果已有translateZ值。

+0

我正在考慮存儲值 - 操作它 - 以及style.transform它回到元素 – maioman

+1

http://css-tricks.com/get-value-of- CSS-旋轉貫通的JavaScript / – maioman