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

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

编辑:更多详细信息,因为@dfsq问:我正在尝试创建具有页面翻转功能的纯文本阅读器。

最佳答案

这是一些示例代码。您将需要从零个字符开始,然后将每个字符一一添加,并检测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");

关于javascript - 使用Javascript查找文本溢出的位置,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33461835/

10-09 23:47