今回は、テキストが指定行数を超えた場合に自動で省略記号を生成するためのメモをご紹介します。以下の実践的なケースを見てみましょう。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>www.jb51.net jQuery自动添加省略号</title> <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script> <script type="text/javascript"> $(function () { $(".figcaption").each(function (i) { var pH = $(this).height(); var $p = $("p", $(this)).eq(0); while ($p.outerHeight() > pH) { $p.text($p.text().replace(/(\s)*([a-zA-Z0-9]+|\W)(\.\.\.)?$/, "...")); }; }); }); </script> <style> *{ padding: 0px; margin: 0px; } .figcaption{ width: 300px; height: 50px; /*根据父元素的高度来添加省略号 *可以任意设置显示的行数 */ border: 1px solid red; } </style> </head> <body> <p class="figcaption"> <p> You probably can't do it (currently?) without a fixed-width font like Courier. With a fixed-width font every letter occupies the same horizontal space, so you could probably count the letters and multiply the result with the current font size in ems or exs. Then you would just have to test how many letters fit on one line, and then break it up.</p> </p> </body> <script> </script> </html>
操作効果:
この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。
推奨読書:
以上がテキストが指定された行数を超えると、省略記号が自動的に生成されます。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。