IIIu6ko
@IIIu6ko

Плавное сворачивание и разворачивание текста?

https://jsfiddle.net/LL54vf73/2/

$(document).ready(function() {

  $('.reviews__text').each(function() {
    if ($(this).text().length > 391) {
      $(this).data('full', $(this).text());
      $(this).text($(this).text().slice(0, 391) + '...');
      $(this).after("<span class='reviews__more'>Развернуть</span>");
    }
  });

  $('.reviews__more').click(function() {
    if ($(this).text() == 'Развернуть') {
      $(this).siblings('.reviews__text').text($(this).siblings('.reviews__text').data('full'));
      $(this).text('Свернуть');
    } else {
      $(this).siblings('.reviews__text').text($(this).siblings('.reviews__text').text().slice(0, 391) + '...');
      $(this).text('Развернуть');
    }
  });

});


Подскажите как можно анимировать подобную конструкцию? Или как и что нужно переписать, чтобы можно было анимировать.

Нужно чтобы плавно разворачивалось и сворачивалось. Высота абзаца .reviews__text изменяется за счёт смены длинны текста, но я не знаю как туда подлезть и анимировать эту высоту. Transition стоит, но эффекта ноль, видимо какие-то нюансы.

мб записывать высоту элемента в data() вместе с текстом и как-то потом её манипулировать или вообще переписать скрипт.
  • Вопрос задан
  • 994 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы