Задать вопрос
@heisenberg1

Как можно заменить slideToggle (jquery) на аналогичное в JS?

Доброго времени суток, мне необходимо скрывать контактную инфу и плавно её показывать при нажатии, но без JQ.
На JQ есть подходящее, но мне необходиимо на чистом JS, есть ли аналог slideToggle в JS?

Подходящий JQ:
$(document).ready(function(){
    $('.block__contact-info').click(function(event){
        $(this).next().slideToggle(500);
    });
});


У меня сейчас:
const contactInfo = document.querySelector('.block__contact-info');
contactInfo.addEventListener('click', function () {
    const contactText = document.querySelector('.block__contact-text');
    contactText.classList.toggle('show');
})


.block__contact-text {
    display: none;
}
.show {
    display: block;
}
  • Вопрос задан
  • 311 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
delphinpro
@delphinpro Куратор тега JavaScript
frontend developer
Одно из решений, использующее css переходы + javascript https://getbutterfly.com/how-to-implement-jquery-s...
То же самое, в виде пакета https://github.com/Pmac627/slide-toggle/blob/maste...
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Mesuti
@Mesuti


p.s. посвящается Сергей delphinpro, как самому внимательному специалисту этого вопроса
Ответ написан
Комментировать
@moreqa
Используй не display block/none, а opacity 1/0 и visibility visible/hidden, ну и transition к этому добавь
Ответ написан
Ваш ответ на вопрос

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

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