与Determine if an HTML element's content overflows类似,如何找到溢出元素的索引位置?
示例:如果我们在div中有一个长字符串溢出第100个字符,我该如何找到该位置?
编辑:更详细,因为@dfsq问:我试图创建一个漂亮的纯文本阅读器,页面翻转。
答案 0 :(得分:1)
以下是一些示例代码。您需要从零字符开始,然后逐个添加每个字符并检测offsetWidth何时超过scrollWidth。
function find_overflow_index(elt, str) {
elt.textContent = '';
for (var i=0; i < str.length; i++) {
elt.textContent += str[i];
if (elt.scrollWidth < elt.offsetWidth) return i;
}
return -1; // no overflow
}
find_overflow_index(
document.getElementById("foo"),
"Long string which might overflow");