์ ํ ์์ ์ธ์ ํ์ ์์ ํด๋์ค ๋ชจ๋ ์ง์ฐ๊ธฐ
๋ฏธ๋ ํ๋ก์ ํธ๋ฅผ ํ๋ค๊ฐ ํ์ ์์๊ฐ ๋ง์ ์ํ์์ ํน์ ์์๋ฅผ ์ ํํ์ ๋๋ง is-active ํด๋์ค๋ฅผ ์ถ๊ฐํ๊ณ ,
๋๋จธ์ง ์์๋ค์ is-active ํด๋์ค๋ฅผ ์ด๋ป๊ฒ ์ง์ธ ๊ฒ์ธ๊ฐ...๋ฅผ ๊ณ ๋ฏผํ๋ค๊ฐ ์คํ ์ค๋ฒํ๋ก์ฐ์์ ๋ณด๊ณ ์ฐธ๊ณ ํ๊ฒ ๋์๋ค.
์์ ์ ์ ์ด์ฟผ๋ฆฌ๋ก๋ ํ์ค๋ก ์ฝ๊ฒ ํ๋ ๊ฒ ๊ฐ์๋ฐ ๋ฐ๋๋ผ JS๋ก๋ง ํ๋ ค๋๊น ์์ง ์ ์ฝ์ง ์์ ๊ฒ!!...
์๋ ์ฌ์ง๊ณผ ๊ฐ์ด ํ์ฌ play-button ์ด๋ผ๋ ๋์ผํ ํด๋์ค๋ฅผ ๊ฐ์ง ๋ฒํผ์ด 3๊ฐ ์๊ณ , ํด๋ฆญํ ์์์๋ง is-active๋ฅผ ์ถ๊ฐ,
๋๋จธ์ง๋ ์์๋๋ผ๋ ์์ ์ฃผ๋ ๊ฒ์ ์ํ๋ค.
ํด๊ฒฐ
function handlePlayerImage(e) {
e.preventDefault();
const buttonGroup = this.parentNode;
const active = buttonGroup.querySelector('.is-active');
if (active) {
active.classList.remove('is-active');
}
e.currentTarget.classList.add('is-active');
}
buttonList.forEach((button) => {
button.addEventListener('click', handlePlayerImage);
});
์ด ๋ถ๋ถ์ ํด๋นํ๋ ์ผ๋ถ ์ฝ๋๋ง ๊ฐ์ ธ์๋๋ฐ, ํด๋ฆญํ ์์์ ๋ถ๋ชจ์์๋ฅผ ์ฐพ์ is-active ํด๋์ค๊ฐ ์๋ ์์๋ฅผ ์ฐพ๊ณ
active ํด๋์ค๊ฐ ์๋ค๋ฉด ์์ ์ฃผ๊ณ , ํ์ฌ ํ๊ฒ์ธ ์์์๋ง ํด๋์ค๋ฅผ ์ถ๊ฐํ๋๋ก ํ๋ค.
'๐ Studying > JavaScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JavaScript] ํ์ดํ ํจ์ ์์๋ณด๊ธฐ (0) | 2022.07.27 |
---|---|
[JavaScript] This์ ๋ํ ์์ ํ๊ตฌ (0) | 2022.07.15 |
JavaScript 30 Challeneges - Console Tricks (0) | 2022.06.10 |
[JavaScript] classList ํ๋กํผํฐ (0) | 2022.06.06 |
JavaScript 30 Days Challenge - Clock (0) | 2022.05.26 |
Comment