JavaScript

超轻量级php框架startmvc

jQuery实现文字超过1行、2行或规定的行数时自动加省略号的方法

更新时间:2020-07-04 07:06:01 作者:startmvc
本文实例讲述了jQuery实现文字超过1行、2行或规定的行数时自动加省略号的方法。分享给大

本文实例讲述了jQuery实现文字超过1行、2行或规定的行数时自动加省略号的方法。分享给大家供大家参考,具体如下:


<!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 divH = $(this).height();
 var $p = $("p", $(this)).eq(0);
 while ($p.outerHeight() > divH) {
 $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>
 <div 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>
 </div>
</body>
<script>
</script>
</html>

运行效果:

jQuery 文字 超过规定的行数 自动加省略号