2013-02-03 6 views
0
function Scale(){ 
    X = innerWidth/1024; 
    Y = innerHeight/768; 

    Z = document.getElementById("IFM"); 
    Z.style.transform = "scale(X, Y)"; 
} 

이 코드에 문제가 있습니다. 규모에 따라 변수를 사용할 수 없습니다!
이 문제를 어떻게 해결합니까?변수를 사용하여 자바 스크립트 스타일로 설정

+0

문자열 내용이 변수와 구별되는 것에 대해 어떻게 생각하십니까? – Bergi

답변

2

JavaScript에 인라인 문자열 변수가 없습니다. 문자열을 연결하면됩니다.

Z.style.transform = "scale("+X+", "+Y+")"; 

숫자는 암시 적으로 문자열로 변환됩니다.

사용자 지정 sprintf-like 형식 또는 바꾸기 방법을 사용할 수도 있지만 일반적으로 +의 연결은 더 간단합니다.

+0

너는 나를 때렸다. –

1

당신은 concats/플러스 또는 String.prototype.replace를 사용하여 문자열을 구축 중 하나.

Z.style.transform = "scale(" + X + "," + Y + ")"; 

이나와

String.prototype.sFormat = function _simpleFormat(map) { 
    var myString = this.toString(), 
     args  = map instanceof Array ? map : Array.prototype.slice.call(arguments); 

    while(~myString.indexOf('%r')) { 
     myString = myString.replace('%r', args.shift()); 
    } 

    return myString; 
}; 

같은 도우미 .. 다음에 줄

Z.style.transform = "scale(%r, %r)".sFormat(X,Y); 
0

변경과 같이 이동 : (

Z.style.transform = "scale(" + X +", "+ Y + ")"; 
0

하는이 방법을 시도 "규모 "+ X +", "+ Y +") ";

관련 문제