Jquery 阅读更多|复制字符

Jquery 阅读更多|复制字符,jquery,Jquery,我正在使用此代码添加“多读/少读”段落。它工作正常,但重复了单词,例如管理进入管理和gement导致拼写错误。查看屏幕截图 var showChar = 370; var ellipsestext = "..."; var moretext = "more"; var lesstext = "less"; $('.more').each(function() { var content = $("p", this).html();

我正在使用此代码添加“多读/少读”段落。它工作正常,但重复了单词,例如管理进入管理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>&nbsp;&nbsp;<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;
    });
var showChar=370;
var ellipseText=“…”;
var moretext=“更多”;
var lesstext=“less”;
$('.more')。每个(函数(){
var content=$(“p”,this).html();
如果(content.length>showChar){
var c=content.substr(0,showChar);
var h=content.substr(showChar-1,content.length-showChar);
var html=c+''+ellipseText+''+h+'';
$(“p”,this).html(html);
}
});
$(“.morelink”)。单击(函数(){
if($(this).hasClass(“更少”)){
$(此).removeClass(“更少”);
$(this.html(moretext);
}否则{
$(此).addClass(“更少”);
$(this.html(lesstext);
}
$(this.parent().prev().toggle();
$(this.prev().toggle();
返回false;
});
您有一个bug(也因一个错误而取消)

替换

content.substr(showChar-1, content.length - showChar);


使用
showChar
而不是
showChar-1
content.substr(showChar, content.length - showChar);