阅读更多|复制字符

时间:2016-10-07 17:25:50

标签: jquery

我正在使用此代码添加更多/更少的段落。它的工作正常,但重复单词,例如。 管理分为管理& 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;
    });

1 个答案:

答案 0 :(得分:1)

您有off-by-one个错误(也称为一个错误)。

替换

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

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