【问题标题】:Change font size using Integer not string使用整数而不是字符串更改字体大小
【发布时间】: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


【解决方案1】:

尝试将其称为“30px”或“30cm”或以百分比表示为“30%”

【讨论】:

  • 嗨,通过“30px”工作谢谢。但是,这仍然不能解决我的问题,因为我想在字符串中添加一个整数值,例如 1、2、20、30 而不是“1px”或“30px”。
  • @NoviceProgrammer 让你的函数接受一个数字,然后在你的函数中附加适当的度量,这样你在调用函数时就不必指定它。这仅在您始终使用一个指标时才有效。如果您使用多个指标,则必须将一些内容传递到您的函数中,让它知道要使用哪个指标。
猜你喜欢
  • 1970-01-01
  • 2015-10-27
  • 2012-09-01
  • 1970-01-01
  • 2013-10-04
  • 1970-01-01
  • 1970-01-01
  • 2011-09-06
  • 1970-01-01
相关资源
最近更新 更多