javascript怎么得到一个字符串显示出来的宽度?

xinjinjie 2009-01-20 10:17:34
搜索了半天,求出字符串的length的倒是一下就找到了,显示宽的没能找到.

有没有类似delphi里的Canvs.TextWidth的函数?

请各位指点,拜谢~~~
...全文
1770 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhw_2009 2009-08-28
  • 打赏
  • 举报
回复
3楼的代码我执行了阿,为什么不行呢,在 document.body.appendChild(span);
总通不过呢
lihan6415151528 2009-01-20
  • 打赏
  • 举报
回复
用div span或者甚至td存放你的文字
js获取其width应该可以吧
王集鹄 2009-01-20
  • 打赏
  • 举报
回复

明显<SPAN id=span style= "font-size:9pt "> </span>是html部分,不是脚本

明白原理自己就可以写了,就是用span标签赋值文本计算宽度,参考如下代码:
function textSize(fontSize, text) {
var span = document.createElement("span");
var result = {};
result.width = span.offsetWidth;
result.height = span.offsetWidth;
span.style.visibility = "hidden";
document.body.appendChild(span);
if (typeof span.textContent != "undefined")
span.textContent = text;
else span.innerText = text;
result.width = span.offsetWidth - result.width;
result.height = span.offsetHeight - result.height;
span.parentNode.removeChild(span);
return result;
}

var size = textSize("9px", "囧");
alert("宽:" + size.width + " 高:" + size.height);
xinjinjie 2009-01-20
  • 打赏
  • 举报
回复
先谢谢2楼的朋友提供方法,不过其中有不太明白的地方 请指点:
---------------------------------------------------------
<SPAN id=span style= "font-size:9pt "> </span>

var o=document.getElementById( "span ");
var oldWidth=o.offsetWidth;
o.innerText= "字符 ";
var width=o.offsetWidth-oldWidth;

alert(“宽:”+width)

--------------------------------------------------------------
其中的<SPAN id=span style= "font-size:9pt "> </span> 是怎么在JavaScript里用的?
我加到JavaScript里后 就卡死了
xinyung 2009-01-20
  • 打赏
  • 举报
回复
http://topic.csdn.net/u/20070316/20/b77adc63-c440-4ede-9e5c-38bc4f2a8e97.html
xinjinjie 2009-01-20
  • 打赏
  • 举报
回复
var span = document.createElement("span");
var result = {};

result.width = span.offsetWidth;
result.height = span.offsetWidth;

........

result.width = span.offsetWidth - result.width;
result.height = span.offsetHeight - result.height;

为什么要这么做呢?为什么不直接将text赋值给span,然后直接用赋值后的W和H呢?
xinyung 2009-01-20
  • 打赏
  • 举报
回复
那個是當你用到字體大小的時候才用的,因為字體大小會影響字符串的寬度
//span.style.fontSize=fontSize; 沒寫上而已
xinjinjie 2009-01-20
  • 打赏
  • 举报
回复
function textSize(fontSize, text)

第1个参数 似乎是无效的参数?没看到哪儿有用到......
xinjinjie 2009-01-20
  • 打赏
  • 举报
回复
谢谢两位的指点

正在研究3L的写法和原理

再次感谢~~

87,902

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧