πŸ“” Studying/JavaScript

[JavaScript] λ‹€λ₯Έ μš”μ†Œ 클래슀 λͺ¨λ‘ μ§€μš°κΈ°

sero. 2022. 6. 22. 11:11
728x90

선택 μš”μ†Œ μ™Έμ˜ ν˜•μ œμš”μ†Œ 클래슀 λͺ¨λ‘ μ§€μš°κΈ° 

λ―Έλ‹ˆ ν”„λ‘œμ νŠΈλ₯Ό ν•˜λ‹€κ°€ ν˜•μ œμš”μ†Œκ°€ λ§Žμ€ μƒνƒœμ—μ„œ νŠΉμ • μš”μ†Œλ₯Ό μ„ νƒν–ˆμ„ λ•Œλ§Œ 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 ν΄λž˜μŠ€κ°€ μžˆλ‹€λ©΄ μ—†μ• μ£Όκ³ , ν˜„μž¬ νƒ€κ²ŸμΈ μš”μ†Œμ—λ§Œ 클래슀λ₯Ό μΆ”κ°€ν•˜λ„λ‘ ν–ˆλ‹€.

 

 

 

728x90