css中,显示省略号以及用js控制显示省略号

单行

.overflow {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    -o-text-overflow: ellipsis;
}


多行

.overflow_2 {

        display: -webkit-box !important;
        -webkit-box-orient: vertical;
        text-overflow: ellipsis;
        overflow: hidden;
        display: -moz-box !important;
        word-break: break-all;
        -webkit-line-clamp: 2;

}

js 原理是:计算字节的方法,1个英文一个位置一个中文占两个位置,给一个总位置,处理获取的字符串再控制显示

function ellipsis(totalWords,ele) {
            var count = 0,
                text = $(ele).html(),//考虑换行导致的空格可以使用(此方法不兼容IE8):text = $(ele).html().trim()
                startUnicode = parseInt("0x4e00", 16),//最小中文Unicode
                endUnicode = parseInt("0x9fa5", 16);//最大中文Unicode
            for (var i = 0,len=text.length; i <len; ++i) {
                var e = text[i];
                if (count <= totalWords) {//如果没达到最大长度就累加
                    if (e.charCodeAt(0) >= startUnicode && e.charCodeAt(0)<= endUnicode) {
                        count += 2;
                    } else {
                        count++;
                    }
                } else {//否则就显示处理并且return
                    text = text.substring(0, i - 3);
                    $(ele).html(text + "...");
                    return;
                }
            }
        }

ellipsis(需要显示的单词量,元素)



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值