Js文本溢出自动添加省略号ellipsis

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Js文本溢出自动添加省略号ellipsis相关的知识,希望对你有一定的参考价值。

原文:
ellipsis: function(value, len, word) {
        //判断value有没有超过指定长度
        if (value && value.length > len) {
            //word的作用就是尽量不让一个完整的单词被部分省略
            if (word) {
                var vs = value.substr(0, len - 2),
                //猜测单词的界限符
                index = Math.max(vs.lastIndexOf(‘ ‘), vs.lastIndexOf(‘.‘), vs.lastIndexOf(‘!‘), vs.lastIndexOf(‘?‘));
//保留一个容忍长度len - 15,过短的话,影响表现效果
                if (index !== -1 && index >= (len - 15)) {
                    return vs.substr(0, index) + "...";
                }
            }
            return value.substr(0, len - 3) + "...";
        }
        return value;
    }
 
经修改:
 function ellipsis(val, len, word) {
            if (val && val.length > len) {
                if (word) {
                    var vs = val.substr(0, len - 1)
                    var i = Math.max(vs.lastIndexOf(‘ ‘), vs.lastIndexOf(‘.‘), vs.lastIndexOf(‘!‘), vs.lastIndexOf(‘?‘))
                    if ( i !== -1 && i >= (len-15) ) {
                        return vs.substr(0, i) + ‘...‘
                    }
                }
                return val.substr(0, len) + ‘...‘
            }
            return val
        }

调用方式:

var aa="你是谁?萨达哈撒";
 var bb=ellipsis(aa,5);
 console.log(bb);

 

以上是关于Js文本溢出自动添加省略号ellipsis的主要内容,如果未能解决你的问题,请参考以下文章

文本溢出添加省略号

长文本溢出显示省略号(…) text-overflow: ellipsis

超详细的文本溢出添加省略号。。。。

table中td超出内容隐藏,鼠标悬停全部显示(完整版,含js代码)

多行文本溢出显示省略号(…) text-overflow: ellipsis

实现单行或多行文本溢出显示省略号