0

我的 js 中有一个名为 value 的变量,它根据滚动条百分比进行更新。我的值在 0 - 360 之间。我想要一种更新以下 CSS 值的方法。有没有办法可以将它们组合在一个对象中并将值传递给它们。例如,当使用不透明度时,我可以做这样的事情。

function updateCSS(target, value){
 var cssObj = {};
 cssObj["opacity"] = value;
 target.css(cssObj);
}

我需要一种能够用我的值编号更新所有前缀旋转属性的方法。任何好主意我怎么能做到这一点。

-webkit-transform: rotate(value);  /* Safari 3.1+, Chrome 
     -moz-transform: rotate(value);  /* Firefox 3.5-15 
      -ms-transform: rotate(value);  /* IE9+ 
       -o-transform: rotate(value);  /* Opera 10.5-12.00 
          transform: rotate(value);  /* Firefox 16+, Opera 12.50+ 
4

4 回答 4

1

您可以使用该style对象来更改 CSS 属性:

var style = element.style;
style.WebkitTransform =
    style.MozTransform =
    style.msTransform =
    style.OTransform =
    style.transform = 'rotate(' + angle + ')';
于 2012-10-10T21:23:23.183 回答
0

CSS 不是一种编程语言。它不支持变量。您需要使用 JavaScript 来执行此操作。

$(target).attr('-webkit-transform', 'rotate('+value+')');....ETC

于 2012-10-10T21:22:30.363 回答
0

只需使用该.css()方法,您也忘记包括deg

function updateCSS(target, value){
    target.css({
        '-webkit-transform': 'rotate('+value+'deg)',
        '-moz-transform': 'rotate('+value+'deg)',
        '-ms-transform': 'rotate('+value+'deg)',
        '-o-transform': 'rotate('+value+'deg)',
        'transform': 'rotate('+value+'deg)'
    });
}

小提琴:http: //jsfiddle.net/XKyEz/3/

于 2012-10-10T21:24:16.933 回答
0

你可以很简单地用 jquery 做到这一点:

$(target).css('opacity',value);
于 2012-10-10T21:40:28.087 回答