js 实现超出字符添加省略号功能

当我们需要用js来实现省略号功能是 可以使用以下方法 ,方法是分开了写的,可以单独调用

html

 <div class="dome">偷偷ce试 一下 enmmmmm</div>

js

tips:

//     使用js截取前len字节的字符串,
// str: 要截取的字符串
// len:要截取的长度,根据字节计算,这里我们取了18个
// suffix截取前len个后,其余的字符的替换字符,这里我们用 ”…”
<script>
    function CutString(str,len,suffix){
        if(!str) return "";
        if(len<= 0) return "";
        if(!suffix) suffix = "";
        var templen=0;
        for(var i=0;i<str.length;i++){
            if(str.charCodeAt(i)>255){
                templen+=2;
            }else{
                templen++
            }
            if(templen == len){
                return str.substring(0,i+1)+suffix;
            }else if(templen >len){
                return str.substring(0,i)+suffix;
            }
        }
        return str;
    }
    function GetLength(str){
        ///<summary>获得字符串实际长度,中文2,英文1</summary>
        ///<param name="str">要获得长度的字符串</param>
        var realLength = 0, len = str.length, charCode = -1;
        for (var i = 0; i < len; i++) {
            charCode = str.charCodeAt(i);
            if (charCode >= 0 && charCode <= 128) realLength += 1;
            else realLength += 2;
        }
        return realLength;

    }
    var domeText=$(".dome").text(),
        domeTextLength = GetLength(domeText);
    if(domeTextLength>18){
        $(".dome").text(cutString(domeText, 18, '...'))

    }

</script>

效果如下

 

搞定!

tips:GetLength(str)  获取字符串长度

         CutString(str,len,suffix) 截取想要的字符串长度并添加后缀

-------------------------------------------------------------我是版本信息分界线------------------------------------------------------------

主编:何玉

分享人:何玉

时间:20180531

部分分享信息来之网络,若侵权,请联系我们,谢谢。

--------------------------------------------------------------嗯 我是底线-----------------------------------------------------------------------

猜你喜欢

转载自www.cnblogs.com/yuebai/p/9117994.html