我正在尝试创建一个函数,该函数将接受元素的文本,切断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');因此,函数应该去掉元素,从末尾删除额外的文本,添加一个省略号,然后用我刚刚创建的新字符串替换元素中的旧文本。
当我运行这个函数时,我不会收到任何错误,但是它实际上并没有像它应该的那样切断文本。为什么会这样呢?
发布于 2014-11-11 18:37:27
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字符进行省略比使用三个句点更好。
我添加了一个显示代码工作的代码。此外,我还添加了一个函数spaceShorten,它将在最后一次出现小于所提供的长度的空格时将文本拆分,这样就不会将文本拆分到单词中间。
frank/pen/EaYzNz
https://stackoverflow.com/questions/26871646
复制相似问题