2011-10-21 79 views
0

我嘗試了所有的以下的,但他們沒有工作:爲什麼不是這個簡單的Javascript串聯工作?

iframe.style[transform] = 'scale('+(scale)+', 1) translate(-'+(0-scale)+'%, 0)'; 

iframe.style[transform] = 'scale('+(scale)+', 1) translate(-'+(-scale)+'%, 0)'; 

var translate = 0-scale; 
iframe.style[transform] = 'scale('+(scale)+', 1) translate(-'+translate+'%, 0)'; 

var translate = 0-scale; 
iframe.style[transform] = 'scale('+(scale)+', 1) translate(-'+translate.toString+'%, 0)'; 

但是,如果我這樣做它的工作:

iframe.style[transform] = 'scale('+(scale)+', 1) translate(-0%, 0)'; 

爲什麼不工作?我使用的是Firefox 7的Windows 7

+4

兩個'0 scale'和'-scale'可能是負的。在這種情況下,您將在translate()結果參數中得到兩個減號。 –

回答

0

的問題是,它可能會產生無效的語法。在這裏:

'translate(-'+(0-scale)+'%, 0)'; 
     ^ ^
      |  |____ possible negative number 
      | 
      |___________ literal minus sign 

可能會生成以下字符串:

translate(--0%, 0); 
     ^
      |___________ double minus, which is invalid CSS 
0

它不應該的問題,但你嘗試過:

iframe.style[transform] = "scale(" + scale.toString() + ", 1); translate(-" + translate.toString() + "%, 0);"; 
相關問題