2012-07-17 86 views
1

Modernizr提供了一個testAllProps()方法,該方法可以方便地測試給出的所有供應商前綴樣式,以查看當前運行的瀏覽器是否支持該樣式。將所有供應商提供的前綴變體分配到樣式

但是我沒有來到一個點,我需要從JavaScript實際分配這些屬性,因爲各種原因導致它過於繁瑣而無法有條件地鏈接CSS文件。

因此,例如,我可以建立一個數組,每個供應商的特定風格分配給我的目標元素的風格例行:

['mozTransitionDuration', 'webkitTransitionDuration', 'oTransitionDuration', 'msTransitionDuration', 'transitionDuration'].map(function(s){ element.style.s = "style_setting"; }); 

那麼,這可能會產生一堆錯誤,因爲我會努力將「style_setting」分配給4個或5個未定義的值。

有沒有人知道任何事情,使這一點少痛苦?

回答

2

也許最好使用全知道這個東西的現有庫:

Prefix Free將讓您從指定的CSS樣式沒有供應商的前綴。它還有一個jQuery Plugin,它可以讓你用JavaScript做同樣的事情。

2

之前設定值,檢查屬性是否爲undefined

['mozTransitionDuration', 'webkitTransitionDuration', 'oTransitionDuration', 'msTransitionDuration', 'transitionDuration'] 
    .map(function(s) { 
     if (element.style[s] != undefined) element.style[s] = "style_setting"; 
    }); 
相關問題