0

将很长的 HTML 段落元素动态拆分为给定高度的较小段落的最有效方法是什么?

下面的函数(jQuery)递归地从文本中一次删除一个单词,检查新的长度,并在文本被分解成可接受的小块时停止。

function split_par(element, max_height)
{
  if (element.height() <= max_height)
    return;
  var array = element.text().split(" ");
  var pos = 0;
  while (element.height () > max_height)
  {
    pos -= 1;
    element.html("<p>" + array.slice(0,pos).join(" ") + "</p>");
  }
  var next_par = element.clone();
  next_par.html("<p>" + array.slice(pos).join(" ") + "</p>");
  $('body').append(next_par);
  split_par(next_par, max_height);
}

这是低效的并且需要很长时间,但这是我找到的最可靠的方法。我确信有更好的方法。我也不熟悉 Javascript 或 jQuery,所以任何关于代码的一般提示都将不胜感激。

4

1 回答 1

0

也许将文本放置在容器元素(例如 div)中并使用Jquery Masonry之类的东西就可以了。

于 2012-05-04T10:44:21.507 回答