0

非常に長い HTML 段落要素を特定の高さの小さな段落に動的に分割する最も効率的な方法は何ですか?

以下の関数 (jQuery) は、テキストから一度に 1 つの単語を再帰的に切り出し、新しい長さをチェックし、テキストが許容可能な小さなチャンクに分割されると停止します。

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 に答える