今天遇到了获取文字宽度的问题,查了很久,终于在一个国外网站上找到了方法,但是不能直接使用,于是修改了一下,成功使用到了项目中,在这里分享给大家。
首先在body标签最后添加一个子标签:
test
然后添加相应的css代码:
#ruler {
visibility: hidden;
white-space: nowrap;
font-size: 24px;
}
接下来直接在String的原型中添加获取文字宽度的函数,在js代码中加入以下代码即可:
String.prototype.visualLength = function()
{
var ruler = $("#ruler");
ruler.text(this);
return ruler[0].offsetWidth;
}
最后在需要获取文字宽度的地方调用即可,举个例子:
var text = "test";
var len = text.visualLength();
主要思路是添加一个隐藏的标签,每次对该标签赋值后,通过获取该标签的长度来获取文字宽度。需要注意的是,只有已经被添加到DOM中的标签才能获取长度。
如果大家觉得对自己有帮助的话,还希望能帮顶一下,谢谢:)
Stellungnahme:Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn