2014-01-21 170 views
0

我對jQuery相當陌生,並且一直在試驗以下內容。簡化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}); 

有什麼建議?

感謝

+0

何不:'VAR屬性= { '變換': '比例(' + datastartscale + ')', ' - MS-變換': '比例(' + ('+ datastartscale +')',' - moz-transform':'scale('+ datastartscale +')'};' –

回答

0

你應該屬性另存爲一個對象:

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

感謝這很好用,我也喜歡你的格式,比我更容易遵循。 – CreativelyCoded

0

根本就

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

$(this).css(properties); 
+1

'.css()'調用中'properties'的花括號不應該在那裏。 –

+0

你是對的,一旦我移除了$(this).css({properties})附近的大括號,就完美了。到$(this).css(properties); – CreativelyCoded

0

變量應該包含一個對象,只是就像這個argume一樣NT的功能,而不是字符串:

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