创建具有最大字数

时间:2017-07-18 22:17:59

标签: javascript

我正在网站上展示项目,每个图片都有描述。我希望在50个左右的字符后用省略号剪切描述。我也不希望最后一个词被部分切断。

示例:

decription:"这座建筑设计于1970年,位于第11街和第15街的拐角处。"

网站上的描述:"这座建筑是1970年设计的......"

javascript是外部的,描述在类名" card-text"下。这是我到目前为止所做的,但它似乎并没有起作用:

var string = document.getElementByClassName('card-text');
function truncate(string){
 if (string.length > 20)
  return string.substring(0,20)+'...';
 else
  return string;
};

1 个答案:

答案 0 :(得分:0)

你走了。更改maxLength变量以获取不同的最大长度。

function truncate(str) {
    var maxLength = 50;
    
    if (str.length <= maxLength) {
        return str;
    }
    
    var truncated = str.slice(0, maxLength - 3);
    var lastSpaceIndex = truncated.lastIndexOf(' ');
    
    if (lastSpaceIndex === -1) {
        return truncated + '...';
    }

    return truncated.slice(0, lastSpaceIndex) + '...';
}

var str =  "this building was designed in 1970 on the corner of 11th and 15th street.";

console.log(truncate(str));