利用nowrap和.getBoundingClientRect()根据文本字符判断长度

来源:互联网 发布:linux日志格式 编辑:程序博客网 时间:2024/04/28 20:20

function GetTipLength(p_strTip)
{
 var objTDTip=document.getElementById("TipContainer");
 try
 {
  if (objTDTip==null)
  {
   if (!bDelay)
   {
    var bLoaded=TipLoading();
    if (!bLoaded)
     return 0;
    else
     bDelay=true;
   }

   var strContainerHTML="<table cellpadding='0' cellspacing='0' border='0'><tr><td id='TipContainer'class='DivTip' nowrap></td><tr></table>";
   var objOriginDiv=document.createElement("<div style='visibility:hidden;position:absolute;top:0px;'>");
   objOriginDiv.innerHTML=strContainerHTML;
   document.body.appendChild(objOriginDiv);
   //document.body.insertBefore(objOriginDiv);
   document.all.TipContainer.innerText=p_strTip;
  }
  else
  {
   objTDTip.innerText=p_strTip;
  }
  var objRect=document.all.TipContainer.getBoundingClientRect();
  var intTextWidth=objRect.right-objRect.left;
  return intTextWidth;
 }catch(e)
 {
  //alert("GetTipLength:"+e);
  return 0;
 }
}

0 0
原创粉丝点击