Reputation: 79
I use Nuxt 3 and Bootstrap 5.
//template
<button type="button" class="btn hide-me" data-bs-toggle="collapse" data-bs-target="#collapse1" aria-expanded="false" aria-controls="collapse1">Read More 1</button>
<div class="collapse multi-collapse" id="collapse1">
some text
<button type="button" class="btn hide-me" data-bs-toggle="collapse" data-bs-target="#collapse2" aria-expanded="false" aria-controls="collapse2">Read More 2</button>
</div>
<div class="collapse multi-collapse" id="collapse2">
other text
<button type="button" class="btn" data-bs-toggle="collapse" data-bs-target=".multi-collapse" aria-expanded="false" aria-controls="collapse1 collapse2">Read Less</button>
</div>
//css
.hide-me {
opacity: 1;
height: auto;
transition: opacity .35s ease;
}
.hide-me[aria-expanded="true"] {
opacity: 0;
height: 0;
overflow: hidden;
transition: none;
}
It works perfectly until I go to other page and return. Use case 1:
Use case 2:
I tried to add:
mounted() {
const collapseList = document.querySelectorAll('.collapse');
[...collapseList].map(el => el.classList.remove("show"));
}
but in this case: Use case 3:
Upvotes: 1
Views: 107