2012-07-17 113 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"; 
    }); 
相关问题