JavaScript 计算字符串所占的像素个数
function calcStringPixelsCount(str, strFontSize) {
// 字符串字符个数
var stringCharsCount = str.length;
// 字符串像素个数
var stringPixelsCount = 0;
// JS 创建HTML元素:span
var elementPixelsLengthRuler = document.createElement("span");
elementPixelsLengthRuler.style.fontSize = strFontSize; // 设置span的fontsize
elementPixelsLengthRuler.style.visibility = "hidden"; // 设置span不可见
elementPixelsLengthRuler.style.display = "inline-block";
elementPixelsLengthRuler.style.wordBreak = "break-all !important"; // 打断单词
// 添加span
document.body.appendChild(elementPixelsLengthRuler);
for (var i =0; i < stringCharsCount; i++) {
// 判断字符是否为空格,如果是用 替代,原因如下:
// 1)span计算单个空格字符( ),其像素长度为0
// 2)空格字符在字符串的开头或者结果,计算时会忽略字符串
if (str[i] == " ") {
elementPixelsLengthRuler.innerHTML = " ";
} else {
elementPixelsLengthRuler.innerHTML = str[i];
}
stringPixelsCount += elementPixelsLengthRuler.offsetWidth;
}
return stringPixelsCount;
}
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。