function Scale(){
X = innerWidth / 1024;
Y = innerHeight / 768;
Z = document.getElementById("IFM");
Z.style.transform = "scale(X, Y)";
}
このコードに問題があります。スケールで変数を使用できませんでした!
この問題で何ができますか?
function Scale(){
X = innerWidth / 1024;
Y = innerHeight / 768;
Z = document.getElementById("IFM");
Z.style.transform = "scale(X, Y)";
}
このコードに問題があります。スケールで変数を使用できませんでした!
この問題で何ができますか?
JavaScriptにはインライン文字列変数はありません。できることは、文字列を連結することだけです。
Z.style.transform = "scale("+X+", "+Y+")";
数値は暗黙的に文字列に変換されます。
いくつかのカスタムのsprintf
ようなformatメソッドまたはreplaceメソッドを使用することもできますが、通常はとの連結の+
方が簡単です。
concats / plusを使用して文字列を作成するか、を使用します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);
その行を次のように変更します。
Z.style.transform = "scale(" + X +", "+ Y + ")";
この方法を試してください"scale(" + X + "、" + Y + ")";