簡體   English   中英

如何在Javascript中修改計算的字體大小

[英]How to modify computed font-size in Javascript

我試圖改變文本的字體大小,使其適合動態div的維度。

我找到了一些適合該法案的jquery代碼,但是我不能在我的代碼中使用jquery並且需要將其轉換為vanilla javascript。

當我運行轉換后的代碼時,我收到此錯誤:'未捕獲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 = ...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM