如何在Javascript中修改计算的字体大小

马切洛

我正在尝试更改文本的字体大小,以使其适合动态div的尺寸。

我找到了一些符合要求的jquery代码,但是我无法在代码中使用jquery,需要将其转换为原始javascript。

当我运行转换后的代码时,我收到以下错误消息:'Uncaught DOMException:无法在'CSSStyleDeclaration'上设置'font-size'属性:这些样式是经过计算的,因此'font-size'属性为只读。

这是我需要转换的原始jQuery代码:

elements = $('.resize')
el = elements[_i]

和:

resizeText = function () {
    var elNewFontSize
    elNewFontSize = (parseInt($(el).css('font-size').slice(0, -2)) - 1) + 'px'
    return $(el).css('font-size', elNewFontSize)
  }

这是我的转换:

elements = document.getElementsByClassName('resize')
el = elements[_i]

和:

resizeText = function () {
    var elNewFontSize
    elNewFontSize = (parseInt(window.getComputedStyle(el).fontSize.slice(0, -2)) - 1) + 'px'
    window.getComputedStyle(el).fontSize = elNewFontSize
    return elNewFontSize
  }

我究竟做错了什么?

伊萨皮尔

您需要将新大小设置为元素的style.fontSize属性,而不是从window.getComputedStyle()获得的计算值,例如

el.style.fontSize = elNewFontSize;

-

顺便说一句,并且没有直接关系,没有理由让变量名两次出现,您可以使用声明对其进行初始化,即代替:

var elNewFontSize
elNewFontSize = ...

只需写

var elNewFontSize = ...

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章