Разделы jquery.dotdotdot не отображаются

Я создаю ссылки "читать больше / меньше" для разделов текста, используя jquery.dotdotdot. Текст не отображается для разделов, где у меня есть несколько тегов p. Не совсем уверен, в чем проблема. Я включил свой код в скрипку ниже.

Я ценю любую помощь! Спасибо!

Посмотреть полный код здесь

$(function () {
    var addLink = $('.securetext');
        addLink.append('<span class="readmore trigger-js">&nbsp;<a >Read more</a></span>');
        for (i = 0; i < addLink.length; i++) {
            if ($(addLink[i]).children("p").length > 0) {
                $(addLink[i]).children("p").last().append('<span class="readless trigger-js">&nbsp;<a >Read less</a></span>');
            } else {
                $(addLink[i]).append('<span class="readless trigger-js">&nbsp;<a >Read less</a></span>');
            }
        }
        truncateIfNeeded(); // Initialize ellipsis
    });

var truncateIfNeeded = function (jqueryTag) {
    var $selectionToTruncate = jqueryTag || $('.securetext');

    $selectionToTruncate.dotdotdot({
        ellipsis: '... ',
        watch: true,
        //wrap    : 'letter',
        height: 20 * 3, // max number of lines
        after: '.readmore',
        callback: function (isTruncated, orgContent) {
            var $currentReadMore = $(this).find('.readmore');
            var $currentReadLess = $(this).find('.readless');

            if (isTruncated) {
                $(this).addClass('securetext--is-truncated');
                $(this).removeClass('securetext--is-not-truncated');
            }
            bindReadMore(); // bind click on "read more"
        }
    });
};

1 ответ

Проблема в алгоритме, используемом для усечения.

На первой итерации Read More... ссылка добавляется после абзаца (длина которого составляет ровно 3 строки). Это означает, что логика усечения вызывается.

Во второй итерации Read More... добавляется внутри абзаца. Затем все это помещается в 3 строки, и поэтому оно удаляется. Это явно ошибка.

Проблема, описывающая ошибку на GitHub, была закрыта как wontfix.

Этот запрос извлечения обеспечивает частичное исправление, но не отображает многоточие в случае усечения элемента между абзацами. (Тем не менее, ссылка для чтения будет отображаться.)

Другие вопросы по тегам