3楼大哥,我要计算的是DIV内 所有文字的高度,长度,换句话说,由DIV内文字多少决定 DIV的width,heigh<script> function setConfig() { function calculate_byte( sTargetStr ) { var sTmpStr, sTmpChar; var nOriginLen = 0; var nStrLength = 0;
sTmpStr = new String(sTargetStr); nOriginLen = sTmpStr.length; for ( var i=0 ; i < nOriginLen ; i++ ) { sTmpChar = sTmpStr.charAt(i); if (escape(sTmpChar).length > 4) { nStrLength += 2; } else if (sTmpChar!='\r') { nStrLength ++; } }
return nStrLength;
}var ddlFontSize = document.getElementById('ddlFontSize'); var txtMessageContent = document.getElementById('txtMessageContent'); //璁$畻鑼冨洿 var splitStringArray = txtMessageContent.value .split("\n"); var messageContentLines = splitStringArray.length; var tempMaxLineContentLength= 0; var tempMaxLineContentIndex = 0; var messageWidth = 0; var messageHeight = 0; var parsedMessageContent = txtMessageContent.value.replace(/(\n)/g,"<br>");
第二行
</div>高度:document.getElementById("1").offsetHeight
第二行
</div>
function setConfig()
{
function calculate_byte( sTargetStr ) {
var sTmpStr, sTmpChar;
var nOriginLen = 0;
var nStrLength = 0;
sTmpStr = new String(sTargetStr);
nOriginLen = sTmpStr.length; for ( var i=0 ; i < nOriginLen ; i++ ) {
sTmpChar = sTmpStr.charAt(i); if (escape(sTmpChar).length > 4) {
nStrLength += 2;
} else if (sTmpChar!='\r') {
nStrLength ++;
}
}
return nStrLength;
}var ddlFontSize = document.getElementById('ddlFontSize');
var txtMessageContent = document.getElementById('txtMessageContent');
//璁$畻鑼冨洿
var splitStringArray = txtMessageContent.value .split("\n");
var messageContentLines = splitStringArray.length;
var tempMaxLineContentLength= 0;
var tempMaxLineContentIndex = 0;
var messageWidth = 0;
var messageHeight = 0;
var parsedMessageContent = txtMessageContent.value.replace(/(\n)/g,"<br>");
if(messageContentLines==1)
{
messageHeight = ddlFontSize.options[ddlFontSize.selectedIndex].value;
messageWidth = calculate_byte(txtMessageContent.value)*ddlFontSize.options[ddlFontSize.selectedIndex].value;
}
else
{
//计算出长度最
for(var i=0;i<messageContentLines;i++)
{
if(calculate_byte(splitStringArray[i])>tempMaxLineContentLength)
{
tempMaxLineContentLength = calculate_byte(splitStringArray[i]);
tempMaxLineContentIndex = i;
}
}
messageHeight = ddlFontSize.options[ddlFontSize.selectedIndex].value*messageContentLines;
messageWidth = calculate_byte(splitStringArray[tempMaxLineContentIndex])*ddlFontSize.options[ddlFontSize.selectedIndex].value;
}
//alert(messageWidth);
var str=""
+ "<div id=message "
+ "style='"
+ "position:absolute;"
+ "left:100px;"
+ "top:200px;"
+ "font-size:"+(ddlFontSize.options[ddlFontSize.selectedIndex].text)+";"
+ "width:" + (messageWidth) + ";"
+ "height:" + (messageHeight) + ";"
+ "background-color:#FFFFC4;"
+ "' "
+ ">"
+" "+parsedMessageContent+""
+"</div>"
document.body .insertAdjacentHTML("beforeEnd",str);
}
</script><select id ="ddlFontSize" size="1" style="width:60px;" runat ="server">
<option value="10" >10px</option>
<option value="12" >12px</option>
<option value="14" >14px</option>
<option value="16" >16px</option>
<option value="18" >18px</option>
</select> <textarea rows="3" cols="30" id="txtMessageContent" ></textarea>
<input name="button" type="button" onClick="setConfig();" value="test">