【发布时间】:2017-02-01 23:43:33
【问题描述】:
我目前正在处理 SVG 文本。我正在尝试动态更改字体大小。但是它不起作用
它让我可以通过执行以下操作来更改字体大小
this.text.style.fontSize = "xx-small";
或 x-小、小、中、大、x-大、xx-大
然而,我真正想做的是
this.text.style.fontSize = 30;
或 任何其他整数(20、12 等),但它不会让我这样做。
我希望能够使用一个值而不是字符串来传递 fontSize
实际功能是
function setSize (textSize) {
this.text.style.fontSize = textSize;
//this.text.style.fontSize = "xx-small"; //this works
//this.text.style.fontSize = 10; // this doesn't work
}
【问题讨论】:
-
我不太确定 svg,但您可能必须指定一个测量单位。意思是,30什么? (px、vm、em 等)
-
当我使用 Firefox 在 Inspect Element -> Inspector 中添加整数值时,它可以工作。但是,当尝试如上所示动态执行此操作时,必须以字符串形式传递该值,即“30px”或“x-large”等。但是,我真的需要让它工作,因此它需要像 30 等这样的值而没有字符串(引号)。如果你明白我的意思吗?
-
this.text.setAttribute("font-size",textSize)
-
或者 this.text.style.fontSize = textSize + "px"
-
@HolgerWill 使用 this.text.style.fontSize = textSize + "px" 解决了这个问题,它可以按我的意愿工作。我希望我之前想出那个。谢谢
标签: javascript html svg javascript-objects