Плавное закрытие попапа
Всем привет! Подскажите как реализовать именно плавное закрытие попапа при удалении класса, который собственно попап и открывает. Удалось создать плавное появление попапа, а вот, чтобы он исчезал плавно не получается.
let edit_button = document.querySelector('.profile__edit-button');
let popup_opened = document.querySelector('.popup');
let close_button = document.querySelector('.popup__close-button');
edit_button.addEventListener('click', function () {
popup_opened.classList.add("popup_opened")
});
close_button.addEventListener('click', function () {
popup_opened.classList.remove("popup_opened");
});
Класс, который добавляется и удаляется через JS:
.popup_opened {
display: flex;
justify-content: center;
align-items: center;
position: fixed;
top: 0;
left: 0;
z-index: 98;
animation-name: popup;
animation-duration: 0.8s;
}
@keyframes popup {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
Источник: Stack Overflow на русском