使用Javascript

时间:2015-11-01 11:51:44

标签: javascript css dom

Determine if an HTML element's content overflows类似,如何找到溢出元素的索引位置?

示例:如果我们在div中有一个长字符串溢出第100个字符,我该如何找到该位置?

编辑:更详细,因为@dfsq问:我试图创建一个漂亮的纯文本阅读器,页面翻转。

1 个答案:

答案 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");