I have dropdown or accordion, I just want to add css transition, so it's showing a slow effect after the click, but, it doesn't seem to work, I tried to add everywhere: transition: all 0.2s;
I have these texts: Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
How is the transition actually works? normally I try to add it in the parent class.
const clickButton = document.querySelectorAll(".accordion");
clickButton.forEach(function (test) {
const accordionHeader = test.querySelector(".accordion-header");
accordionHeader.addEventListener("click", function () {
test.classList.toggle('accordion-is-open')
})
})
.accordion-wrapper {
position: relative;
}
.accordion {
margin: auto;
border-bottom: 1px solid #D4D9DD;
}
.accordion.accordion-is-open .accordion-content {
display: inline-block;
}
.plus {
display: block;
cursor: pointer;
color: #008CFD;
font-size: 30px;
}
.minus {
display: none;
cursor: pointer;
color: #008CFD;
width: 20px;
font-size: 50px;
}
.accordion.accordion-is-open .plus {
display: none;
}
.accordion.accordion-is-open .minus {
display: block;
}
.accordion-header {
padding: 10px 0;
display: flex;
align-items: center;
justify-content: space-between;
}
.accordion-header p{
font-size: 18px;
}
.side-line {
background-color: #000;
width: 20px;
position: absolute;
top: 0;
height: 100%;
border-radius: 20px 0 0 20px;
opacity: 0.5;
}
.hideCheeseContent {
display: none;
}
.accordion-content {
padding: 0 0 20px 0;
display: none;
}
.hide {
display: none;
}
<div class="accordion-wrapper">
<div class="accordion accordion-is-open">
<div class="accordion-header">
<p>Title</p>
<span class="plus">+</span>
<span class="minus">-</span>
</div>
<div class="accordion-content">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
</div>
</div>
<div class="accordion">
<div class="accordion-header">
<p>Title</p>
<span class="plus">+</span>
<span class="minus">-</span>
</div>
<div class="accordion-content">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
</div>
</div>
</div>