'this' 키워드를 사용한 자바스크립트 카드 뒤집기 효과 구현 방법

자바스크립트를 사용하여 카드 뒤집기 효과를 구현하는 방법 중 ‘this’ 키워드를 활용한 방법에 대해 알아보겠습니다. ‘this’ 키워드는 현재 실행 중인 함수의 소유자 객체를 참조하는 역할을 합니다. 이를 활용하여 카드 요소를 동적으로 처리하고 뒤집을 수 있습니다.

HTML 구조

먼저, 카드를 표시할 HTML 구조를 준비해야 합니다. 각 카드는 뒷면과 앞면을 가지고 있으며, 클릭 이벤트를 통해 뒤집을 수 있습니다. 예시로 다음과 같은 HTML 구조를 사용합니다.

<div class="card" onclick="flipCard(this)">
  <div class="card-back"></div>
  <div class="card-front"></div>
</div>

CSS 스타일링

카드의 스타일링을 위해 CSS를 사용합니다. 예를 들어, 다음과 같이 스타일을 설정할 수 있습니다.

.card {
  width: 200px;
  height: 300px;
  perspective: 800px;
  position: relative;
  cursor: pointer;
  transform-style: preserve-3d;
  transition: transform 0.5s;
}

.card-back,
.card-front {
  position: absolute;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
}

.card-back {
  background-color: blue;
}

.card-front {
  background-color: red;
  transform: rotateY(180deg);
}

자바스크립트 구현

이제 자바스크립트를 사용하여 카드를 뒤집는 효과를 구현해보겠습니다. ‘this’ 키워드를 사용하여 클릭한 카드 요소를 참조하고, 이를 기반으로 카드를 뒤집는 동작을 작성할 수 있습니다.

function flipCard(card) {
  if (card.style.transform === 'rotateY(180deg)') {
    card.style.transform = 'rotateY(0deg)';
  } else {
    card.style.transform = 'rotateY(180deg)';
  }
}

위 코드는 클릭한 카드 요소의 현재 변형(transform) 값으로 뒷면과 앞면을 번갈아가며 표시합니다.

마무리

이렇게 ‘this’ 키워드를 사용하여 자바스크립트로 카드 뒤집기 효과를 구현할 수 있습니다. ‘this’ 키워드를 사용하면 클릭한 요소에 대한 참조를 쉽게 얻을 수 있으며, 이를 활용하여 동적인 동작을 구현할 수 있습니다.

#javascript #카드뒤집기