多行文本最后行末尾省略号显示

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>xdlines-demo</title>
		<script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
		<style type="text/css">
			/*第1种方式: CSS样式,只适用于webkit内核的移动端*/
			.ellipsis {
              display: -webkit-box;/*必须结合的属性,将对象作为弹性伸缩盒子模型显示*/
              -webkit-box-orient: vertical;/* 必须结合的属性 ,设置或检索伸缩盒对象的子元素的排列方式*/
              -webkit-line-clamp: 2;
              overflow: hidden;
              text-overflow: ellipsis;
              word-break: break-all;
              width: 300px;
              color: red;
              font-size:24px;
            }
            /*第2种方式: CSS样式需要放在body之前*/
            .el{width: 300px;margin:60px 0; font-size:34px;}
		</style>
	</head>
	<body>
		<p class="ellipsis">
			这是一段测试文字,可以通过更改传入对象的max属性来改变最终的显示行数,超出部分会以省略号显示。
		</p>
		<p class="el">
			这是一段测试文字,可以通过更改传入对象的max属性来改变最终的显示行数,超出部分会以省略号显示。
		</p>
		<p class="el">
			这是一段测试文字,可以通过更改传入对象的max属性来改变最终的显示行数,超出部分会以省略号显示。
		</p>
		<script type="text/javascript">
	    (function($) {
        	$.fn.xdlines = function(options) {
        		var opts = $.extend({}, $.fn.xdlines.defaults, options);
        		var $this = $(this);
        		for(var k = 0; k < $this.length; k++) {
        			var $obj = $this.eq(k);
        			$obj.css({ wordWrap: 'break-word' })
        			var str = $obj.text();
        			str = str.replace(/(^\s*)|(\s*$)/g, "");
        			var l = str.length;
        			var txt = '';
        			var lineHeight; //单行高度
        			var linesNum = opts.max; //需要的行数
        			for(var i in str) {
        				txt += str[i];
        				$obj.text(txt);
        				var nowh = parseInt($obj.css('height')); //当前高度
        				if(i == 0) {
        					lineHeight = nowh * linesNum;
        				}
        				if(nowh > lineHeight) {
        					var txt = txt.substring(0, txt.length - 3) + "...";
        					$obj.text(txt);
        					break;
        				}
        			}
        		}
        	};
    
        	$.fn.xdlines.defaults = { max: 1 }
        })(jQuery)
        $('.el').xdlines({max:2});
	</script>
	</body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值