我正在尝试通过浏览器的布局引擎找到当前显示给用户的实际行数。发现'硬'休息,<'br'>标签等很容易,但我找不到在代码中看到我可以在屏幕上计算的内容的方法。
我在这里搜索过,并且有一些问题/答案暗示它无法完成,或至少非常复杂,但它们都已经过时了几年,也许事情已经发生了变化。
textContent不会这样做,并且使用div的高度在此应用程序中不起作用。也许有一种我不知道的jQuery方式?
答案 0 :(得分:1)
将整个事物的高度除以一个字符的高度。这种方法适用于IE,Safari,FF和Chrome,虽然情况相当简单,只有一种字体等,所以可以通过更彻底的锻炼来宣布正确的方式;它需要空节点检查等。
function getLineCount(node) {
if (node) {
var range = document.createRange();
range.setStart(node, 0);
range.setEnd(node, 1);
var h1 = range.getBoundingClientRect().height;
range.setEnd(node, node.length);
return Math.round(range.getBoundingClientRect().height / h1);
}
};
风滚草徽章也被称为蟋蟀?