今天遇到了獲取文字寬度的問題,查了很久,終於在一個國外網站上找到了方法,但是不能直接使用,於是修改了一下,成功使用到了專案中,在這裡分享給大家。
先在body標籤最後加上一個子標籤:
程式碼如下:
test
程式碼如下:
#ruler {
visibility: hidden;
white-space: nowrap;
font-size; 🎜>}
接下來直接在String的原型中加入取得文字寬度的函數,在js程式碼中加入以下程式碼即可:
程式碼如下:
String.prototype.visualLength = function()
{
var ruler = $("#ruler" );
ruler.text(this);
return ruler[0].offsetWidth;
}
最後在需要取得文字寬度的地方呼叫即可,舉個範例:
程式碼如下:
var text = "test";
var text = "test";
var text = "test"; var len = text.visualLength(); 主要思路是添加一個隱藏的標籤,每次對該標籤賦值後,通過獲取該標籤的長度來獲取文字寬度。需要注意的是,只有已經被加入到DOM中的標籤才能取得長度。 如果大家覺得對自己有幫助的話,還希望能幫頂一下,謝謝:)