WhatsApp

  
Implementación de Animaciones al Hacer Scroll
JS, HTML Y CSS


Las animaciones al hacer scroll son una excelente manera de agregar interactividad y dinamismo a tu sitio web. Pueden captar la atención de los usuarios y hacer que la experiencia de navegación sea más atractiva. En este blog, aprenderemos cómo implementar una animación simple al hacer scroll utilizando HTML, CSS y JavaScript.

Estructura del Proyecto

Antes de empezar, veamos la estructura de nuestro proyecto. Necesitaremos tres archivos:

  1. HTML (index.html): Contiene la estructura básica de nuestro documento.
  2. CSS (style.css): Define los estilos para nuestra página y las animaciones.
  3. JavaScript (script.js): Añade la funcionalidad para detectar el scroll y aplicar las animaciones.

Lo que haremos:



 
 



Código HTML

Nuestro archivo HTML define la estructura básica de la página y contiene varios elementos que se animarán al hacer scroll.

HTML

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>Scroll Animation</title>

<link rel="stylesheet" href="./style.css">

</head>

<body>

<h1>Scroll Animation</h1>

<div class="box"><h2>content</h2></div>

<div class="box"><h2>content</h2></div>

<div class="box"><h2>content</h2></div>

<div class="box"><h2>content</h2></div>

<div class="box"><h2>content</h2></div>

<div class="box"><h2>content</h2></div>

<div class="box"><h2>content</h2></div>

<div class="box"><h2>content</h2></div>

<div class="box"><h2>content</h2></div>

<div class="box"><h2>content</h2></div>

<div class="box"><h2>content</h2></div>

<div class="box"><h2>content</h2></div>



<script src="./script.js"></script>

</body>

</html>


Código CSS

El archivo CSS se encarga de estilizar los elementos y definir las animaciones que se activarán al hacer scroll.


CSS

@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap');



* {

box-sizing: border-box;

}



body {

background-color: #efedd6;

font-family: 'Roboto', sans-serif;

display: flex;

flex-direction: column;

align-items: center;

justify-content: center;

margin: 0;

overflow-x: hidden;

}



h1 {

margin: 10px;

}



.box {

background-color: steelblue;

color: #fff;

display: flex;

align-items: center;

justify-content: center;

width: 400px;

height: 200px;

margin: 10px;

border-radius: 10px;

box-shadow: 2px 4px 5px rgba(0,0,0,0.3);

transform: translateX(400%);

transition: transform 0.4s ease;

}



.box:nth-of-type(even) {

transform: translateX(-400%);

}



.box.show {

transform: translateX(0);

}



.box h2 {

font-size: 45px;

}


Código JavaScript

El archivo JavaScript añade la funcionalidad para detectar el scroll y aplicar la clase show a los elementos .box cuando estos entran en la vista del usuario.


JS

const boxes = document.querySelectorAll('.box');



window.addEventListener('scroll', checkBoxes);



checkBoxes();



function checkBoxes() {

const triggerBottom = window.innerHeight / 5 * 4;



boxes.forEach(box => {

const boxTop = box.getBoundingClientRect().top;



if (boxTop < triggerBottom) {

box.classList.add('show');

} else {

box.classList.remove('show');

}

});

}

¡Contáctanos!

Si tienes preguntas, aclaraciones, sugerencias de temas o cualquier otra consulta, ¡no dudes en ponerte en contacto con nosotros! Por favor, completa el formulario de contacto disponible en este enlace, y estaremos encantados de ayudarte.

Si quieres acceder a mi GitHub para tener acceso a este código y a muchos más accede en el siguiente link



Sebastian Granados 28 mayo, 2024
Compartir


Iniciar sesión dejar un comentario

  
Diseño de Formularios: Optimizando la Interacción del Usuario