jQuery(js)获取文字宽度(显示长度)示例代码

 更新时间:2013年12月31日 16:32:49   作者:  
今天遇到了获取文字宽度的问题,在网上找到了不错的方法并成功使用到了项目中,有类似情况的朋友可以参考下
今天遇到了获取文字宽度的问题,查了很久,终于在一个国外网站上找到了方法,但是不能直接使用,于是修改了一下,成功使用到了项目中,在这里分享给大家。

首先在body标签最后添加一个子标签:
复制代码 代码如下:

<span id="ruler">test</span>

然后添加相应的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中的标签才能获取长度。

如果大家觉得对自己有帮助的话,还希望能帮顶一下,谢谢:)

相关文章

  • jQuery Ajax Post 回调函数不执行问题的解决方法

    jQuery Ajax Post 回调函数不执行问题的解决方法

    本文是小编给大家带来的jQuery Ajax Post 回调函数不执行的原因及解决方法,在本文最下面还给大家附加jquery Ajax 不执行回调函数success的原因,这两个问题都非常多见,感兴趣的朋友一起看下吧
    2016-08-08
  • jQuery版AJAX简易封装代码

    jQuery版AJAX简易封装代码

    这篇文章主要为大家详细介绍了jQuery版AJAX简易封装代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-09-09
  • jQuery 处理网页内容的实现代码

    jQuery 处理网页内容的实现代码

    改变页面内容应该算是Javascript最常用的功能,这包括更改已经存在的页面元素或者添加新的HTML元素。
    2010-02-02
  • Jquery命名冲突解决的五种方案分享

    Jquery命名冲突解决的五种方案分享

    最近遇到个问题,同时引用了jquery库和另外一个js库。当用$XX去调用js库函数时,发现失效了!于是找资料,原来是jquery命名冲突了
    2012-03-03
  • jQuery在线选座位插件seat-charts特效代码分享

    jQuery在线选座位插件seat-charts特效代码分享

    这篇文章主要介绍了jQuery在线选座位插件seat-charts特效,推荐给大家,有需要的小伙伴可以参考下。
    2015-08-08
  • Jquery鼠标放上去显示全名的实现方法

    Jquery鼠标放上去显示全名的实现方法

    下面小编就为大家带来一篇Jquery鼠标放上去显示全名的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • jQuery pagination分页示例详解

    jQuery pagination分页示例详解

    这篇文章主要为大家详细介绍了jQuery pagination分页示例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-10-10
  • 基于jQuery创建鼠标悬停效果的方法

    基于jQuery创建鼠标悬停效果的方法

    这篇文章主要介绍了基于jQuery创建鼠标悬停效果的方法,实例分析了jQuery实现鼠标特效的原理与详细步骤,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • 源码解读jQ中浏览器兼容模块support

    源码解读jQ中浏览器兼容模块support

    jquery support主要是检测浏览器兼容性,支持力度的方法,用于展示不同浏览器各自特性和bug的属性集合。作为一个静态成员,提供给jquery内部函数,告诉他们某些功能是否能用。避免了以往通过检测浏览器版本做修改。下面我们通过源码详细解读jQ中浏览器兼容模块support。
    2016-08-08
  • 动态生成的DOM不会触发onclick事件的原因及解决方法

    动态生成的DOM不会触发onclick事件的原因及解决方法

    下面小编就为大家带来一篇动态生成的DOM不会触发onclick事件的原因及解决方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-08-08

最新评论