显示阅读更多按钮

时间:2015-06-13 11:01:32

标签: javascript jquery

我希望在文字大于300个字符后使用更多按钮。

我使用这个jQuery来解决这个问题,但它并没有按我的意愿运行。

var $j = jQuery.noConflict();
$j('.reviewtekst').each(function() {
    var $pTag = $j(this).find('p');
    if($pTag.text().length > 300){
        var shortText = $pTag.text();
        shortText = shortText.substring(0, 300);
        $pTag.addClass('fullArticle').hide();
        $pTag.append('<a class="read-less-link">Lees minder</a>');
        $j(this).append('<p class="preview">'+shortText+'</p><div class="curtain-shadow"></div><a class="read-more-link">Read more</a>');
    }
});

$j(document).on('click', '.read-more-link', function () {
    $j(this).parent().hide().prev().show();
});

$j(document).on('click', '.read-less-link', function () {
    $j(this).parent().hide().next().show();
});

请参阅此JSFiddle:https://jsfiddle.net/8cm67cun/1/

如何使这项工作在<a> class之外显示<p> class

1 个答案:

答案 0 :(得分:4)

以下是更新版本https://jsfiddle.net/8cm67cun/2/,现在它可以正常使用p

之外的标记
$j(document).on('click', '.read-more-link', function () {
    $j(this).hide().parent().find('.preview').hide().prev().show();
});

$j(document).on('click', '.read-less-link', function () {
    $j(this).parent().hide().next().show();
    $j(this).parents('.reviewtekst').find('.read-more-link').show();
});