У меня проблемы со следующей ситуацией.
У меня есть кнопка, которая действует как обычный переключатель. Когда я нажимаю кнопку «Анимировать», я хочу, чтобы <p>This is new Div</p>
исчезал, когда я снова нажимал на кнопку Animate
, этот <p>
должен исчезнуть.
Как этого добиться?
const main = document.getElementById('main');
const btn = document.getElementById('btn');
let show = false;
btn.addEventListener('click', () => {
if(show) {
const newDiv = document.getElementById("new-div");
newDiv.remove();
show = false;
} else {
const newDiv = document.createElement('div');
newDiv.id = "new-div";
newDiv.innerHTML = "<p>This is new Div</p>";
main.appendChild(newDiv);
show = true;
}
})
#new-div {
transition: all 2s ease-in-out;
}
<div id="main">
<button id="btn">Animate</button>
</div>
Я на самом деле создаю приложение для создания галереи, которое требует плавного перехода при нажатии на изображение + показ в полноэкранном режиме, а затем исчезает в исходное положение при нажатии. Поскольку изображений будет много, я хочу использовать JS, чтобы динамически работать с этим.
И самое большое препятствие на сегодняшний день - реализовать fade-out
, поскольку элемент удаляется.