Menu
Coddy logo textTech

버튼 클릭 애니메이션

Coddy HTML 여정의 JavaScript in Action 섹션에 포함된 레슨 — 27개 중 20번째.

때때로 우리는 버튼을 클릭했을 때 축소되거나, 빛나거나, 튀어 오르는 것과 같은 즉각적인 피드백을 주기를 원합니다. 우리는 JavaScript를 사용하여 CSS 애니메이션 또는 트랜지션을 트리거할 수 있습니다.

먼저, HTML에 간단한 버튼을 만듭니다:

<button id="animatedButton">Click Me</button>

그런 다음, 버튼의 스타일을 지정하기 위해 몇 가지 기본적인 CSS를 추가합니다:

#animatedButton {
  padding: 10px 20px;
  background-color: #4CAF50;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: transform 0.2s, background-color 0.2s;
}

이제 클릭 애니메이션을 만들기 위해 JavaScript를 추가합니다:

const button = document.getElementById('animatedButton');

button.addEventListener('click', function() {
  // 클릭 효과를 위한 클래스 추가
  button.classList.add('button-clicked');
  
  // 애니메이션이 완료된 후 클래스 제거
  setTimeout(function() {
    button.classList.remove('button-clicked');
  }, 200);
});

마지막으로, 애니메이션 효과를 위한 CSS를 추가합니다:

.button-clicked {
  transform: scale(0.95);
  background-color: #45a049;
}

클릭하면 버튼이 이제 약간 작아지고 색상이 변경되어, 사용자에게 시각적 피드백을 제공합니다.

challenge icon

챌린지

쉬움

버튼을 클릭하면 시각적 피드백을 위해 CSS 클래스 "button-clicked"를 추가하세요.

클릭 이벤트 리스너 내부에 이 클래스를 적용하는 코드를 추가하세요.

직접 해보기

<!DOCTYPE html>
<html>
<head>
  <title>Button Animation Example</title>
  <link rel="stylesheet" href="style.css">
</head>
<body>
  <header>
    <h1>Interactive Button Demo</h1>
    <p>Click the button below to see a smooth animation effect.</p>
  </header>

  <main class="content">
    <button id="animatedButton" class="btn">Click Me</button>
  </main>

  <script src="script.js"></script>
</body>
</html>
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

JavaScript in Action의 모든 레슨