Добрый вечер!
Подскажите пожалуйста, как можно из этого кода сделать:
1) Плавное открытие и закрытие.
2) После закрытия чтоб страница поднималась вместе с закрывающемся спойлером до начала его открытия.
Или есть варианты на JS?
<div class="ba-testimonial__body">
Спойлер — это раскрытие интриги, влияющее на восприятие сюжета книги или фильма.
</br>
<div class="ba-testimonial__more" id="timore01">
Например, в детективах спойлером является имя убийцы. Чтобы не портить удовольствие от предстоящего чтения или просмотра фильма, текст спойлера прячут, оставляя возможность его просмотреть тем, кто хочет узнать подробности сюжета.
</div>
<button class="ba-extra-text ba-testimonial__toggle" onclick="document.getElementById('timore01').classList.toggle('open')" aria-label="Читать далее" data-more-text="Читать далее" data-less-text="Свернуть"></button>
</div>
.ba-testimonial p {
margin-bottom: 16px
}
.ba-testimonial__body>:last-child {
margin-bottom: 0
}
.ba-testimonial__toggle {
color: var(--color);
font-size: 14px
}
.ba-testimonial__toggle:hover {
color: var(--color);
text-shadow: 0 0 5px
}
.ba-testimonial__toggle:before {
content: attr(data-more-text)
}
.open+.ba-testimonial__toggle:before {
content: attr(data-less-text)
}
.ba-testimonial__more {
display: none;
margin-bottom: 0px
}
.ba-testimonial__more.open {
display: block
}
.ba-testimonial__more>:last-child {
margin-bottom: 0
}