Animaciones al hacer clic en botones
Parte de la sección JavaScript in Action del Journey de HTML de Coddy — lección 20 de 27.
A veces queremos que los botones den una respuesta instantánea al hacer clic, como encogerse, brillar o rebotar. Podemos activar animaciones o transiciones CSS usando JavaScript.
Primero, crea un botón simple en tu HTML:
<button id="animatedButton">Click Me</button>Luego, añade un poco de CSS básico para dar estilo al botón:
#animatedButton {
padding: 10px 20px;
background-color: #4CAF50;
color: white;
border: none;
border-radius: 4px;
cursor: pointer;
transition: transform 0.2s, background-color 0.2s;
}Ahora, añade JavaScript para crear la animación de clic:
const button = document.getElementById('animatedButton');
button.addEventListener('click', function() {
// Añade una clase para el efecto de clic
button.classList.add('button-clicked');
// Elimina la clase después de que se complete la animación
setTimeout(function() {
button.classList.remove('button-clicked');
}, 200);
});Finalmente, añade el CSS para el efecto de animación:
.button-clicked {
transform: scale(0.95);
background-color: #45a049;
}Al hacer clic, el botón ahora se encogerá ligeramente y cambiará de color, proporcionando una respuesta visual al usuario.
Desafío
FácilCuando se hace clic en el botón, añade la clase CSS "button-clicked" al mismo para obtener retroalimentación visual.
Añade la línea que aplica esta clase dentro del escuchador de eventos de clic.
Pruébalo tú mismo
<!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>
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de JavaScript in Action
1Interactividad/Componentes de UI
PestañasAcordeón (expandir/contraer)Modal (abrir/cerrar)Menú desplegable7Animaciones y efectos
Transiciones CSSAnimar elementos al hacer scrollAnimaciones al hacer clic en botones