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

今天遇到了获取文字宽度的问题,查了很久,终于在一个国外网站上找到了方法,但是不能直接使用,于是修改了一下,成功使用到了项目中,在这里分享给大家。

首先在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中的标签才能获取长度。

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

时间: 2024-09-06 13:20:09

jQuery(js)获取文字宽度(显示长度)示例代码_jquery的相关文章

jquery js 获取时间差、时间格式具体代码_jquery

调取 复制代码 代码如下: GetDateDiff(start, end, "day") /* * 获得时间差,时间格式为 年-月-日 小时:分钟:秒 或者 年/月/日 小时:分钟:秒 * 其中,年月日为全格式,例如 : 2010-10-12 01:00:00 * 返回精度为:秒,分,小时,天 */ function GetDateDiff(startTime, endTime, diffType) { //将xxxx-xx-xx的时间格式,转换为 xxxx/xx/xx的格式 star

jQuery插件实现文字无缝向上滚动效果代码_jquery

本文实例讲述了jQuery插件实现文字无缝向上滚动效果代码.分享给大家供大家参考,具体如下: 此插件旨在实现目前较为流行的无缝向上滚动特效,当鼠标移动到文字上时,向上滚动会停止,当鼠标离开时,向上滚动继续.整体代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&

jquery/js获取当前页面url地址程序代码

设置或获取对象指定的文件名或路径.  window.location.pathname  设置或获取整个 URL 为字符串.  window.location.href  设置或获取与 URL 关联的端口号码.  window.location.port  设置或获取 URL 的协议部分. window.location.protocol  设置或获取 href 属性中在井号"#"后面的分段. window.location.hash  设置或获取 location 或 URL 的 h

jquery 实现两Select 标签项互调示例代码_jquery

<html> <head> <base href="<%=basePath%>"> <title>My JSP 'index.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" c

jquery取消选择select下拉框示例代码_jquery

有三个select下拉框一个大类,两个小类隐藏,需要在选择大类的时候,小类显示同时清除另外的小类选择的项这需求有点儿.......... 下面是三个select: 复制代码 代码如下: <select name="pWaqqqy" id="sel_type" onchange="selectFunction()">        <option value="">全部</option>   

检测jQuery.js是否已加载的判断代码_jquery

当然,该方法不局限于jQuery的检测,对与任何Javascript变量或函数都是通用的. 当前网页加载jQuery后,jQuery()或$()函数将会被定义,所以检测jQuery是否已经加载存在以下2种方法: 方法1: 复制代码 代码如下: if (jQuery) { // jQuery 已加载 } else { // jQuery 未加载 } 方法2: 复制代码 代码如下: if (typeof jQuery == 'undefined') { // jQuery 未加载 } else {

用jquery统计子菜单的条数示例代码_jquery

 jquery tab特效~ (类似选项卡)http://www.jb51.net/article/42151.htm 复制代码 代码如下: <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Tabs</title> <style type="text/css"> /* Re

Jqgrid设置全选(选择)及获取选择行的值示例代码_jquery

1.添加multiselect: true 2.获取选择行的值 复制代码 代码如下: var rowData = jQuery('#List').jqGrid('getGridParam','selarrrow');    if(rowData.length)     {        for(var i=0;i<rowData.length;i++)        {           var name= jQuery('#List').jqGrid('getCell',rowData[i]

Jquery在指定DIV加载HTML示例代码_jquery

首先引入Jquery 复制代码 代码如下: <script src="js/jquery.js"></script> 在页面加入JS 复制代码 代码如下: <script> $(function(){ $("div#top_sidebar").load("top_sidebar.html"); }) </script> #top_sidebar 为指定DIV的ID