<header>
  <h2 class="title">Transition Events</h2>
  <p class="description">Відстеження завершення CSS-переходів для інтерактивності.</p>
</header>
<main>
  <div class="result">
    <!-- Кнопка для демонстрації -->
    <button id="animatedButton">Натисни мене</button>
    <!-- Місце для відображення повідомлення -->
    <p id="message" style="margin-top: 20px; color: #333;"></p>
  </div>
</main>
body {
  font-size: 16px;
  line-height: 1.5;
  font-family: monospace;
}

header {
  background-color: #f1f1f1;
  margin-bottom: 25px;
  padding: 15px;
  -webkit-box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
  -moz-box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
  box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
}

header h2.title {
  padding-bottom: 15px;
  border-bottom: 1px solid #999;
}

header p.description {
  font-style: italic;
  color: #222;
}

.result {
  background-color: #f8f8f8;
  padding: 15px;
  -webkit-box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
  -moz-box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
  box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
}

#animatedButton {
  background-color: #007BFF;
  color: #fff;
  padding: 10px 20px;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  transition: all 0.5s ease; /* CSS-перехід для зміни стилів */
}

#animatedButton:hover {
  background-color: #0056b3;
}

/* Стиль після активації */
#animatedButton.active {
  transform: scale(1.5);
  background-color: #28a745;
}
// Отримуємо елементи
const button = document.getElementById('animatedButton');
const message = document.getElementById('message');

// Обробник натискання на кнопку
button.addEventListener('click', () => {
  // Додаємо клас "active" для запуску CSS-переходу
  button.classList.add('active');
  // Очищуємо попереднє повідомлення
  message.textContent = '';
});

// Відстежуємо завершення переходу
button.addEventListener('transitionend', (event) => {
  if (event.propertyName === 'transform') {
    // Після завершення анімації змінюємо повідомлення
    message.textContent = 'Анімація завершена!';
  }
});

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.