01_Expanding Cards
๐ป ์ฃผ์ : ์นด๋๋ฅผ ๋๋ ์ ๋ ์ ํ์ ธ์๋ ์นด๋๊ฐ ํฌ๊ฒ ๋ํ๋จ.
- classList์ add, remove ๊ธฐ๋ฅ์ ํ์ฉํด ํจ๋์ active ์ํ๋ก ๋ง๋ฆ.
- css์์ ํจ๋ active๋ฅผ ๊ตฌํ ํ transition์ผ๋ก ์ ์ฐํ๊ฒ ํจ๋์ ํฌ๊ธฐ๋ฅผ ์กฐ์ ํจ.
const panels = document.querySelectorAll('.panel');
panels.forEach((panel) => {
panel.addEventListener('click', () => {
removeActiveClasses()
panel.classList.add('active')
})
});
function removeActiveClasses() {
panels.forEach(panel => {
panel.classList.remove('active')
})
};
๐๐ป'panel' ํด๋์ค๋ฅผ ๊ฐ์ง ์์๋ฅผ ํด๋ฆญํ ๋๋ง๋ค ํด๋น ์์์ 'active' ํด๋์ค๋ฅผ ์ถ๊ฐํ๊ณ , ๋ค๋ฅธ ์์์์๋ 'active' ํด๋์ค๋ฅผ ์ ๊ฑฐํ๋ ๋์์ ๊ตฌํํจ.
forEach๋ JavaScript ๋ฐฐ์ด์ ๋ฉ์๋ ์ค ํ๋. ์ด ๋ฉ์๋๋ ๋ฐฐ์ด์ ๊ฐ ์์์ ๋ํด ์ฃผ์ด์ง ํจ์๋ฅผ ์คํํ๋ ๋ฐ ์ฌ์ฉ๋๋ค. forEach ๋ฉ์๋๋ ๋ฐฐ์ด์ ๋ฐ๋ณตํ๋ฉด์ ๋ฐฐ์ด์ ๊ฐ ์์์ ๋ํด ์ง์ ๋ ํจ์๋ฅผ ํธ์ถํ๋ค.
forEach ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฐ๋ณต๋ฌธ์ ์์ฑํ ํ์ ์์ด ๋ฐฐ์ด์ ๋ชจ๋ ์์๋ฅผ ์ํํ๋ฉด์ ์์ ์ ์ํํ ์ ์๋ค.
const array = [1, 2, 3, 4, 5];
array.forEach(function(element) {
console.log(element);
});
//๊ฒฐ๊ณผ
1
2
3
4
5