如何将椭圆添加到文本

时间:2014-11-11 18:15:51

标签: javascript jquery ellipsis

我正在尝试创建一个函数,它将获取元素的文本,剪掉80以上的任何字符,并在必要时添加省略号。到目前为止,这是我的代码:

var maxLength = 80;
function shorten(element) {
  var text = $('#' + element).text();
  var ret = text;
  if (text.length > maxLength) {
    text = text.substr(0,maxLength-3) + "...";
  }
$('#' + element).text(text);
}
shorten('slide1');

因此,该函数应该取元素,删除额外的文本,添加省略号,然后用我刚刚创建的新字符串替换元素中的旧文本。

当我运行该函数时,我没有得到任何错误,但它实际上并没有切断文本。这是为什么?

1 个答案:

答案 0 :(得分:1)

var text = "Some Text Goes Here. La La La La!";
var textLength = 10; // Number of characters to cut off after

function shorten(text, textLength){
    if(text.length > textLength){
        text = text.substring(0, textLength) + '…';
    }
    return text;
}

var shortText = shorten(text, textLength);

此外,使用HTML字符作为省略号比使用三个句点更好。

我添加了Codepen,显示代码正常工作。另外,我添加了一个函数spaceShorten,它会在最后一个小于提供的长度的空格处拆分文本,因此不要拆分文本中间的单词。

http://codepen.io/supah_frank/pen/EaYzNz

相关问题