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 ํ•จ์ˆ˜๊ฐ€ ์ž‘๋™ํ•˜๋„๋ก ๊ตฌ

Last updated