JS 中有一个在可点击链接下打开块的工作示例。但是我们如何才能通过某种动画让这个块顺利打开呢? CSS 动画不起作用。如何使用 javascript 实现这一点?
document.querySelectorAll('a').forEach(function(link) {
link.addEventListener('click', function(e) {
e.preventDefault(); // Предотвратить поведение ссылки по умолчанию
var Div = document.querySelector('.div'); // Получаем div
this.parentNode.insertBefore(Div, this.nextSibling); // Вставить div после нажатой ссылки
Div.classList.add('open'); // Показать только что вставленный div
});
});
a { display: block }
.div {
position: relative; width: 250px; height: 0; opacity: 0; visibility: hidden; padding: 1em; background: #BCC5C8;
-webkit-transition: 0.3s all; -moz-transition: 0.3s all; -o-transition: 0.3s all; -ms-transition: 0.3s all; transition: 0.3s all;
}
.div.open {height: auto; opacity: 1; visibility: visible;}
<a href="#" id="a">cсылка 1</a>
<a href="#" id="b">cсылка 2</a>
<a href="#" id="c">cсылка 3</a>
<div class="div">my div</div>