Menu
Coddy logo textTech

Анимации при клике на кнопку

Часть раздела JavaScript in Action путешествия по HTML на Coddy. Урок 20 из 27.

Иногда мы хотим, чтобы кнопки давали мгновенную обратную связь при нажатии — например, уменьшались, светились или подпрыгивали. Мы можем запускать CSS-анимации или переходы с помощью JavaScript.

Сначала создайте простую кнопку в вашем 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

Потренируйтесь самостоятельно: Песочница Web