简化Jquery代码

时间:2014-01-21 16:40:01

标签: jquery function variables

我对jQuery很新,并且一直在试验以下内容。

var datastartscale = $(this).attr('data-start-scale');

$(this).css({'transform': 'scale(' + datastartscale + ')',
             '-ms-transform': 'scale(' + datastartscale + ')',
             '-webkit-transform': 'scale(' + datastartscale + ')',
             '-moz-transform': 'scale(' + datastartscale + ')'});

我一直试图将css数据放入变量中但没有成功。 我需要多次调用这个变量,这就是为什么将所有这些数据存储在一个变量中是最理想的。

var properties = "'transform': 'scale(' + datastartscale + ')','-ms-transform': 'scale(' + datastartscale + ')','-webkit-transform': 'scale(' + datastartscale + ')','-moz-transform': 'scale(' + datastartscale + ')'";

然后我会写:

 $(this).css({properties});

有什么建议吗?

由于

3 个答案:

答案 0 :(得分:0)

您应该将属性保存为对象:

var properties = {'transform': 'scale(' + datastartscale + ')',
                  '-ms-transform': 'scale(' + datastartscale + ')',
                  '-webkit-transform': 'scale(' + datastartscale + ')',
                  '-moz-transform': 'scale(' + datastartscale + ')'
                 }
$(this).css(properties);

答案 1 :(得分:0)

简单地做

var properties = {'transform': 'scale(' + datastartscale + ')',
         '-ms-transform': 'scale(' + datastartscale + ')',
         '-webkit-transform': 'scale(' + datastartscale + ')',
         '-moz-transform': 'scale(' + datastartscale + ')'}

$(this).css(properties);

答案 2 :(得分:0)

变量应该包含一个对象,就像函数的参数一样,而不是字符串:

var properties = {'transform': 'scale(' + datastartscale + ')',
                  '-ms-transform': 'scale(' + datastartscale + ')',
                  '-webkit-transform': 'scale(' + datastartscale + ')',
                  '-moz-transform': 'scale(' + datastartscale + ')'};