flex panels
const panels = document.querySelectorAll('.panel');
function toggleOpen() {
this.classList.toggle('open'); //ํ ๊ธ
}
function toggleActive(e) {
if (e.propertyName.includes('flex')) { // flex๋ผ๋ ์์ฑ๊ฐ์ด ์ ์ ๋ ์๋ ์ด๋ฒคํธ ํ๊ฒ์
this.classList.toggle('open-active'); // open-active ํ ๊ธ์ ํ๋๋ก ๊ตฌํ
}
}
panels.forEach(panel => panel.addEventListener('click', toggleOpen));
// panel ํด๋์ค๋ฅผ ๊ฐ์ง ์์๋ฅผ ํด๋ฆญํ๋ฉด toggleOpen ํจ์๊ฐ ์๋๋๋ก ๊ตฌํ
panels.forEach(panel => panel.addEventListener('transitionend', toggleActive));
// toggleOpen ์ผ๋ก ์ธํ transition์ด ๋๋๋ฉด toggleActive ํจ์๊ฐ ์๋ํ๋๋ก ๊ตฌ<div class="panels">
<div class="panel panel1">
<p>Hey</p>
<p>Let's</p>
<p>Dance</p>
</div>
<div class="panel panel2">
<p>Give</p>
<p>Take</p>
<p>Receive</p>
</div>
<div class="panel panel3">
<p>Experience</p>
<p>It</p>
<p>Today</p>
</div>
<div class="panel panel4">
<p>Give</p>
<p>All</p>
<p>You can</p>
</div>
<div class="panel panel5">
<p>Life</p>
<p>In</p>
<p>Motion</p>
</div>
</div>
Last updated
Was this helpful?