第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在Javascript / jQuery中確定字符串的像素長度?

在Javascript / jQuery中確定字符串的像素長度?

瀟湘沐 2019-08-19 15:53:43
在Javascript / jQuery中確定字符串的像素長度?有沒有辦法在jQuery / JavaScript中確定字符串的像素長度?
查看完整描述

3 回答

?
慕運(yùn)維8079593

TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超5個贊

span中包裝文本并使用jquery width()


查看完整回答
反對 回復(fù) 2019-08-19
?
慕標(biāo)琳琳

TA貢獻(xiàn)1830條經(jīng)驗(yàn) 獲得超9個贊

用于HTML Canvases的上下文具有用于檢查字體大小的內(nèi)置方法。此方法返回一個TextMetrics對象,該對象具有包含文本寬度的width屬性。

function getWidthOfText(txt, fontname, fontsize){
    if(getWidthOfText.c === undefined){
        getWidthOfText.c=document.createElement('canvas');
        getWidthOfText.ctx=getWidthOfText.c.getContext('2d');
    }
    getWidthOfText.ctx.font = fontsize + ' ' + fontname;
    return getWidthOfText.ctx.measureText(txt).width;}

或者,正如其他一些用戶所建議的那樣,您可以將其包裝在一個span元素中:

function getWidthOfText(txt, fontname, fontsize){
    if(getWidthOfText.e === undefined){
        getWidthOfText.e = document.createElement('span');
        getWidthOfText.e.style.display = "none";
        document.body.appendChild(getWidthOfText.e);
    }
    getWidthOfText.e.style.fontSize = fontsize;
    getWidthOfText.e.style.fontFamily = fontname;
    getWidthOfText.e.innerText = txt;
    return getWidthOfText.e.offsetWidth;}

測試:

  • 第一個解決方案(畫布) - 測試,工作(以像素為單位返回)

  • 第二個解決方案(DOM) - 測試,工作(以像素為單位返回)

請注意,由于實(shí)現(xiàn)差異,兩者可能會返回略有不同的值。

性能測試:平均超過100次迭代的26788次調(diào)用。測試于2014年末mac mini,1.4 GHz i5

Safari,版本10.1.1(12603.2.4):

  • 第一種解決方案:26788次調(diào)用為33.92毫秒

  • 第二種解決方案:26788次調(diào)用為67.94毫秒

谷歌瀏覽器,版本60.0.3112.90:

  • 第一種解決方案:26788次調(diào)用為99.1963毫秒

  • 第二種解決方案:26788次調(diào)用307.4605毫秒


查看完整回答
反對 回復(fù) 2019-08-19
  • 3 回答
  • 0 關(guān)注
  • 620 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號