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
的格式或替换方法,但通常连接+
更简单。
您可以使用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+ ")";