我正在使用此代码添加更多/更少的段落。它的工作正常,但重复单词,例如。 管理分为管理& gement 导致拼写错误。查看截图。
var showChar = 370;
var ellipsestext = "...";
var moretext = "more";
var lesstext = "less";
$('.more').each(function() {
var content = $("p", this).html();
if(content.length > showChar) {
var c = content.substr(0, showChar);
var h = content.substr(showChar-1, content.length - showChar);
var html = c + '<span class="moreelipses">'+ellipsestext+'</span><span class="morecontent"><span>' + h + '</span> <a href="" class="morelink">'+moretext+'</a></span>';
$("p", this).html(html);
}
});
$(".morelink").click(function(){
if($(this).hasClass("less")) {
$(this).removeClass("less");
$(this).html(moretext);
} else {
$(this).addClass("less");
$(this).html(lesstext);
}
$(this).parent().prev().toggle();
$(this).prev().toggle();
return false;
});
答案 0 :(得分:1)
您有off-by-one个错误(也称为一个错误)。
替换
content.substr(showChar-1, content.length - showChar);
带
content.substr(showChar, content.length - showChar);