Sigue Desplazándote

Rate this content
Bookmark

¡Espera! ¡No tan rápido - Deja de desplazarte y quédate un rato conmigo! Cuando se hace correctamente, las animaciones basadas en el desplazamiento pueden agregar pulido a un sitio y hacer que la narración en línea se sienta más inmersiva. ScrollTrigger de GreenSock te permite lograr animaciones suaves basadas en el desplazamiento con un código mínimo. Vamos a explorar juntos algunas de sus características.

This talk has been presented at JSNation Live 2021, check out the latest edition of this JavaScript Conference.

FAQ

Las animaciones de desplazamiento son interacciones que se activan a medida que el usuario se desplaza por una página web. Pueden variar desde pequeñas interacciones de interfaz de usuario hasta grandes experiencias narrativas, conocidas como 'scrollytelling'. Su propósito es añadir interés visual, proporcionar retroalimentación visual y guiar al usuario a través del contenido de la página de manera eficiente y atractiva.

Una mala implementación de las animaciones de desplazamiento puede llevar a problemas de rendimiento, distracciones innecesarias, y en algunos casos, náuseas en personas con trastornos vestibulares. Es crucial no secuestrar el desplazamiento del usuario o impedir la lectura del contenido relevante.

Scroll Trigger es un complemento de la biblioteca de animación GreenSock que permite un control avanzado sobre las animaciones de desplazamiento en una página web. Permite iniciar, pausar, revertir o reiniciar animaciones basadas en la posición de desplazamiento del usuario, e incluso fijar elementos durante el desplazamiento para crear efectos visuales complejos y atractivos.

Para garantizar la accesibilidad en las animaciones, es importante incluir alternativas para usuarios que prefieren reducir el movimiento, conocido como 'preferencias de movimiento reducido'. Además, es fundamental no distraer del contenido principal y considerar el propósito de la animación en el contexto del sitio web.

La línea de tiempo de desplazamiento de CSS es una especificación experimental que permite vincular animaciones a la acción de desplazamiento, mapeando el progreso de las animaciones a la posición de desplazamiento. Aunque es prometedora para simplificar ciertas animaciones, actualmente está en fase experimental y no es recomendable para uso en producción.

GreenSock utiliza las transformaciones CSS para manipular valores animados mediante JavaScript, integrando capacidades potentes que van más allá de las animaciones CSS estándar, permitiendo una mayor flexibilidad y control sobre las interacciones complejas y las secuencias de animación en la web.

Sí, es posible configurar las animaciones de manera que permitan al usuario omitirlas o avanzar rápidamente a la próxima sección. Sin embargo, es importante no secuestrar el desplazamiento del usuario, permitiendo siempre que el control permanezca en manos del usuario para una mejor accesibilidad y experiencia.

Cassie Evans
Cassie Evans
33 min
10 Jun, 2021

Comments

Sign in or register to post your comment.

Video Summary and Transcription

Las animaciones de desplazamiento pueden mejorar la experiencia del usuario cuando se hacen correctamente, pero no deben distraer de la información importante. CSS, JavaScript y complementos como Scroll Trigger se pueden utilizar para lograr animaciones de desplazamiento. ScrollTrigger de GreenSock proporciona una potente biblioteca de animación JavaScript para animaciones más complejas. Es importante considerar la accesibilidad y proporcionar alternativas de movimiento reducido. CodePen y la documentación de GreenSock son recursos valiosos para aprender e inspirarse en la codificación creativa.
Available in English: Keep Scrolling

1. Introducción a las animaciones de desplazamiento

Short description:

¡Hola a todos! Muchas gracias por unirse a mí hoy para esta charla. Soy Cassie, una desarrolladora creativa a la que le encantan los SVG y las animaciones web. Hoy estaremos hablando de las animaciones de desplazamiento y su impacto en la experiencia del usuario y el rendimiento. Las animaciones de desplazamiento pueden ser geniales cuando se hacen correctamente, pero también pueden ser distractoras y nauseabundas. El principio clave a recordar es no distraer de la información relevante. En resumen, no todo necesita animarse al desplazarse. Las buenas animaciones de desplazamiento respaldan el contenido y cumplen un propósito, como proporcionar retroalimentación visual.

Muchas gracias por unirse a mí hoy para esta charla y gracias, JS Nation, por invitarme. Así que antes de comenzar, hay mucho movimiento en esta charla, así que si tienes problemas vestibulares, simplemente omítelo y prepárate una taza de té o algo así.

Así que hola, soy Cassie. Soy una desarrolladora creativa. Me encantan los SVG y las animaciones web. Me gusta agregar un poco de diversión y fantasía a todo lo que creo en la web, y también me encanta enseñar a las personas cómo animar de la mejor manera en la web y cómo animar de manera eficiente.

Hoy vamos a hablar sobre las animaciones de desplazamiento. Compartiré algunas notas y consejos, tanto desde una perspectiva de experiencia de usuario como de código, porque ambos son igualmente importantes. Así que las animaciones de desplazamiento. Este puede ser un tema controvertido entre los profesionales web. Es un poco como el Marmite, a algunas personas les encantan y a otras no. Y eso se debe a que pueden tener un gran impacto y ser realmente geniales si se hacen correctamente, pero no hay nada peor que ir a un sitio para buscar rápidamente información y que te secuestren el desplazamiento o no poder leer el contenido que estás intentando leer porque se desvanece y anima mientras te desplazas hacia abajo.

Las animaciones de desplazamiento mal implementadas pueden ser realmente malas para el rendimiento. Pueden ser distractoras y a veces incluso pueden causar náuseas en personas con trastornos vestibulares. Con eso en mente, comenzaré esta charla con un principio de diseño de movimiento. Es una pequeña lección de experiencia de usuario para tener en cuenta mientras animas. Después de todo, con un gran poder viene una gran responsabilidad. Entonces, ese principio de diseño de movimiento es no distraer de la información relevante. La web es, después de todo, principalmente un sistema de información. Es un lugar para distribuir y compartir conocimiento. También es un lugar para ver fotos de gatos y gritarle a las personas que usan diferentes frameworks que tú. Pero es importante que, ya sea que el usuario esté buscando información o fotos de gatos, no nos interpongamos en su camino. En resumen, no todo necesita animarse al desplazarse.

Las animaciones de desplazamiento abarcan desde pequeñas interacciones de IU útiles hasta grandes experiencias de narración o `scrollytelling`. Pero todas tienen algo en común. Una buena animación respalda o añade al contenido. Tiene un propósito. Entonces, ¿cuáles son algunos buenos propósitos para las animaciones de desplazamiento? Uno bueno es proporcionar retroalimentación visual. A veces, la animación puede proporcionar información visual o información adicional que puede ser difícil de transmitir con palabras. Este es un caso de uso bastante común y un buen ejemplo de mi amigo Louis.

2. Animaciones de Desplazamiento y Activación

Short description:

La barra en la parte superior se llena de color a medida que te desplazas para mostrar tu progreso en la página. Las animaciones activadas por desplazamiento pueden guiar a los usuarios, proporcionar interés visual y mantenerlos comprometidos. Las máscaras activadas por desplazamiento hacen que el sitio web se sienta como un juego, como descubrir elementos ocultos. Una próxima especificación de CSS, línea de tiempo de desplazamiento, permite animaciones simples activadas por el progreso del desplazamiento.

La barra en la parte superior se llena de color a medida que te desplazas para mostrar qué tan lejos estás en la página. Esta es una interacción realmente útil para publicaciones de blog o artículos y sería muy complicado intentar explicar a alguien con palabras qué tan lejos están en la página. A veces, esta información adicional puede ser más compleja. Puede tomar la forma de ilustraciones o incluso elementos interactivos en una narración interactiva.

También puedes usar animaciones activadas por desplazamiento para proporcionar dirección e intención. Puedes usar animaciones para guiar a un usuario por una página. Las animaciones activadas por desplazamiento pueden proporcionar interés visual y mantener la atención de las personas. Esta es una de mis animaciones de desplazamiento favoritas de todos los tiempos. Es simplemente un concepto muy bien ejecutado. Y vale la pena señalar que, sin el acento ilustrativo en la página, solo sería una larga lista de estadísticas, lo que podría hacer que las personas pierdan interés rápidamente, dependiendo de si están interesadas en las estadísticas o no. Pero la animación puede ayudar a mantener a las personas comprometidas. Y debido a que el desplazamiento implica interacción del usuario, cuando se hace correctamente, puede ser realmente inmersivo y divertido.

Realmente me encantan estas máscaras activadas por desplazamiento. Hacen que el sitio web se sienta casi como un juego, como si estuvieras buscando y descubriendo partes del sitio web. Especialmente me encanta el pie de página, que aparecerá en un segundo. Estos son algunos ejemplos. Supongo que ahora profundizaremos en cómo. ¿Cómo activamos animaciones al desplazarnos? Un pequeño descanso para el perro.

Lo primero es una emocionante próxima especificación de CSS, línea de tiempo de desplazamiento. Esta especificación, por lo que he visto, parece ser realmente útil para animaciones simples como la barra de progreso que mostré. Comienzas definiendo tus fotogramas clave como de costumbre en un bloque de fotogramas clave. Luego, después de eso, defines una línea de tiempo de desplazamiento. Incluyes un rango de tiempo en esto y al principio me pareció un poco confuso cuando lo vi por primera vez. Un segundo no es un rango de números, mapea el progreso del desplazamiento al progreso de la animación. Representa cuánto tiempo de animación debe pasar cuando nos desplazamos desde el inicio hasta el final en el contenedor. Un segundo representa un progreso del 100% desde el inicio hasta el final. Es un mapeo de 1 a 100%. Si solo quisieras que la mitad de la animación progrese para un desplazamiento completo, dirías 0.5. Y por último, hacemos referencia a los fotogramas clave en el elemento y luego establecemos la línea de tiempo de desplazamiento como el controlador de la animación. Es la última línea aquí donde ocurre toda la magia.

QnA

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

El Potencial Caprichoso de los Marcos de Trabajo de JavaScript
React Summit US 2023React Summit US 2023
28 min
El Potencial Caprichoso de los Marcos de Trabajo de JavaScript
Top Content
The speaker discusses the whimsical and detailed work of Stripe, particularly their interactive and dynamic pages. They explain the use of React for building whimsical details and tracking mouse position. The speaker introduces React Spring for smooth animation and React3 Fiber for creating a 3D egg model. They also mention the use of Framer Motion and React server components for animating CSS properties.
Animaciones Emocionales y Funcionales de la Interfaz de Usuario en React
React Day Berlin 2022React Day Berlin 2022
28 min
Animaciones Emocionales y Funcionales de la Interfaz de Usuario en React
Today's Talk discussed the importance of UI animations in React, both functional and emotional. Examples were given using CSS and Framer Motion, with a focus on user feedback and accessibility. Design guidelines and animation usage were highlighted, as well as the consideration of negative emotions in animations. The Talk also touched on designing 404 error pages and concluded with gratitude to the audience and organizers.
Las animaciones en React Native deben ser divertidas
React Advanced Conference 2022React Advanced Conference 2022
28 min
Las animaciones en React Native deben ser divertidas
This talk is about animations in React Native, specifically focusing on React Native Reanimated. It covers the use of interpolations and extrapolations in animations, animating items in a carousel or list, sticky elements and interpolation, and fluidity and layout animations. The talk provides valuable tips and tricks for creating performant animations and explores the use of math formulas for natural movements.
Animación y Vue.js
Vue.js London Live 2021Vue.js London Live 2021
32 min
Animación y Vue.js
Today's Talk covers animation in Vue JS apps, including CSS animations, JavaScript animations using the GSAP library, and handling multiple elements with transition groups. The Talk also discusses different kinds of movements, state transitions, and animating numbers and SVGs. Overall, it provides a comprehensive overview of animation techniques and tools for enhancing Vue JS apps.
Animaciones con JS
JSNation 2022JSNation 2022
19 min
Animaciones con JS
Today's talk is about animations in Javascript, covering frame rates and different methods like CSS transitions and animations. JavaScript provides more control over animations, allowing interpolation and simulation of real-world scenarios. Different approaches to animating a box from zero to 100 pixels are discussed, including for loops, timers, and the web animations API. Request Animation Frame is highlighted as a solution for consistent and smooth animations. The Web Animations API is introduced as a powerful tool alongside CSS animations and transitions, although it has limited browser support.
Lecciones aprendidas de la construcción de aplicaciones interactivas en React
React Summit Remote Edition 2021React Summit Remote Edition 2021
35 min
Lecciones aprendidas de la construcción de aplicaciones interactivas en React
Animations can enhance the user experience and provide context in interface design. Using frame and motion in React can create smooth fade-in effects and improve navigation. Optimistic updates and instant comment appearance can eliminate waiting time and improve user experience. Motion can be used in multiple ways to give context and enhance user experience. Accessibility and performance should be considered when implementing animations. Choosing the right library, such as frame of motion or React Spring, can simplify animation implementation. Animations can enhance perceived performance and influence users' perception of speed.

Workshops on related topic

Cómo crear arte generativo increíble con código JavaScript simple
JS GameDev Summit 2022JS GameDev Summit 2022
165 min
Cómo crear arte generativo increíble con código JavaScript simple
Top Content
WorkshopFree
Frank Force
Frank Force
En lugar de dibujar manualmente cada imagen como en el arte tradicional, los artistas generativos escriben programas que son capaces de producir una variedad de resultados. En esta masterclass aprenderás cómo crear arte generativo increíble usando solo un navegador web y un editor de texto. Comenzando con conceptos básicos y avanzando hacia la teoría avanzada, cubriremos todo lo que necesitas saber.