function Scale(){
X = innerWidth / 1024;
Y = innerHeight / 768;
Z = document.getElementById("IFM");
Z.style.transform = "scale(X, Y)";
}
我的代码有问题。我不能在规模上使用变量!
该怎么办?
答案 0 :(得分:2)
JavaScript没有内联字符串变量。您所能做的就是连接字符串:
Z.style.transform = "scale("+X+", "+Y+")";
数字将隐式转换为字符串。
您也可以使用一些自定义sprintf
-like格式或替换方法,但通常与+
的连接更简单。
答案 1 :(得分:1)
您可以使用 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);
答案 2 :(得分:0)
将该行更改为:
Z.style.transform = "scale(" + X +", "+ Y + ")";
答案 3 :(得分:0)
尝试这种方式“缩放(”+ X +“,”+ Y +“)”;