Passa al contingut principal

Animación al hacer scroll con Scrollorama.js

Animación al hacer scroll con Scrollorama.js: Scrollorama, es un plugin para jQuery que nos permite realizar múltiples efectos que se disparan al momento de hacer scroll en nuestra página, permitiendo hacer desplazamiento en cualquier posición, rotaciones, variar opacidad, zoom, parallax, etc.

Hacer ejemplos de cada uno haría que el tutorial sea muy largo y aburrido de leer ya que con un solo ejemplo se entiende el uso completo del plugin, así que el ejemplo imitará el movimiento de los rombos de mejorando.la/conferencia.

Usar Scrollorama es ridículamente fácil! solo debemos incluir en una variable la clase de los objetos que queramos animar y luego podemos variar valores como el delay, duración, propiedad a usar, inicio y fin del efecto.

Pongamos manos a obra para que todo quede más claro:



Codigo HTML5

Código :


<!DOCTYPE HTML>
<html lang="es">
<head>
<meta charset="utf-8"/>
<title>Scrolloama</title>
<link rel="stylesheet" href="estilos.css"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script src="js/jquery.scrollorama.js"></script>
</head>

<body>
<section class="contenedor">
<section class="magia">
<div class="cajita1">
<p>opacidad</p>
</div>

<div class="cajita2">
<p>desplazamiento</p>
</div>

<div class="cajita3">
<p>opacidad y desplazamiento</p>
</div>

<div class="cajita4">
<p>opacidad y desplazamiento + delay</p>
</div>

<div class="cajita5">
<p>opacidad y desplazamiento + delay</p>
</div>

</section>
</section>

</body>
</html>



Código javascript (jquery)

Código :


<script>
$(document).on("ready", gogogo);
function gogogo(){
var scrollorama = $.scrollorama({ blocks:'.magia' });

scrollorama.animate('.cajita1',{ duration: 300, property:'opacity', start:0,end:1});
scrollorama.animate('.cajita2',{ duration: 300, property:'right', start:-150});
scrollorama.animate('.cajita3',{ duration: 300, property:'opacity', start:0,end:1});
scrollorama.animate('.cajita3',{ duration: 300, property:'right', start:-150});
scrollorama.animate('.cajita4',{ delay:500, duration: 300, property:'opacity', start:0,end:1});
scrollorama.animate('.cajita4',{ delay:500, duration: 300, property:'right', start:-150});
scrollorama.animate('.cajita5',{ delay:900, duration: 300, property:'opacity', start:0,end:1});
scrollorama.animate('.cajita5',{ delay:900, duration: 300, property:'right', start:-150});

}
</script>


Codigo CSS3

Código :


body{
background:#cecece;
font-family:Verdana;
}
.contenedor{
background:gray;
border:5px solid #efefef;
margin:0 auto;
height:2000px;
width:800px;
}
.magia div{
background:maroon;
border:10px solid rgba(255,255,255,.5);
border-radius:30px;
margin:70px 0 0 50px;
height:200px;
-webkit-transform:rotate(45deg);
width:200px;
}
.magia div p{
color:white;
-webkit-transform:rotate(-45deg);
}




Ahora entendamos el código:
La parte de CSS3 no tiene nada de especial, sólo definimos la forma de las cajas y colores para que se vea bien, pero no aporta nada de funcionalidad al efecto, a excepción de dar un alto al .contenedor lo suficiente para que exista un scroll.

En la parte de HTML5 sí tenemos cosas importantes como la importación de la librería jquery y el plugin respectivamente y luego en el cuerpo del documento un section con la clase "contenedor" y dentro de este otro section con la clase "magia" (haciendo insection) y este section class="magia" es el encargado de que las cosas pasen. Luego tenemos 5 "cajitas" que son las que vamos a manipular.

El código javascript resaltado es el encargado de dar vida a nuestro efecto en este definimos en una variable la clase "magia" que englobara a los elementos manipulados por esa razon el nombre de dicha clase :P

Código :


var scrollorama = $.scrollorama({ blocks:'.magia' });

luego jugamos con los valores de (duracion, delay, propiedad, estadoInicial, estadoFinal)
por ejemplo la cajita1 no esta usando delay(es opcional)

Código :


scrollorama.animate('.cajita1',{ duration: 300, property:'opacity', start:0,end:1});


  • el efecto tiene una duracion de 300px en vertical
  • anima la propiedad opacity
  • tiene un valor inicial de 0 y un valor final de 1 (la opacidad se mide de 0 a 1)


Mientras que las demás cajas van teniendo un delay para animarse en el momento adecuando causando una sorpresa muy bonita, también se ve que no solo se anima 1 sola propiedad, sino que usan 2 (pueden tener mas):

Código :


scrollorama.animate('.cajita4',{ delay:500, duration: 300, property:'opacity', start:0,end:1});
scrollorama.animate('.cajita4',{ delay:500, duration: 300, property:'right', start:-150});


Ahí se esta animando la opacidad y el desplazamiento respecto a la derecha y la animación sólo tiene un retraso de 500px.

Una cosa mas a destacar es que la animación de "right" no tiene un "end:", ¿que significa esto? pues que tomará como posición final a la posición que tenía por defecto la caja en el documento la cual podíamos manipular con css de igual manera se tomaria el "start:" de no especificarlo.

Los archivos finales con un par de agregados que en el tutorial no venian al caso estan en leonidasesteban.com
si llegaste a esta parte solo queda decirte que todas las preguntas, troleos, tomates, etc lo pueden hacer en @LeonidasEsteban o en este mismo hilo.

Enviar comentario



Comentaris

Entrades populars d'aquest blog

Learn Composition from the Photography of Henri Cartier-Bresson

“Do you see it?” This question is a photographic mantra. Myron Barnstone , my mentor, repeats this question every day with the hopes that we do “see it.” This obvious question reminds me that even though I have seen Cartier-Bresson’s prints and read his books, there are major parts of his work which remain hidden from public view. Beneath the surface of perfectly timed snap shots is a design sensibility that is rarely challenged by contemporary photographers. Henri Cartier-Bresson. © Martine Franck Words To Know 1:1.5 Ratio: The 35mm negative measures 36mm x 24mm. Mathematically it can be reduced to a 3:2 ratio. Reduced even further it will be referred to as the 1:1.5 Ratio or the 1.5 Rectangle. Eyes: The frame of an image is created by two vertical lines and two horizontal lines. The intersection of these lines is called an eye. The four corners of a negative can be called the “eyes.” This is extremely important because the diagonals connecting these lines will form the breakdown ...

El meu editor de codi preferit el 2024, que això ja se sap que va canviant 😄

Visual Code Visual Code és un editor de codi font lleuger, però potent que s’executa al teu escriptori i està disponible per a Windows, macOS i Linux. Compta amb suport integrat per a JavaScript, TypeScript i Node.js i té un ric ecosistema d’extensions per a altres llenguatges i entorns d’execució (com C++, C#, Java, Python, PHP, Go, .NET).  És una eina ideal per a desenvolupar i depurar aplicacions web i en el núvol. Per què Visual Code? Visual Code té molts avantatges com a editor de codi font, com per exemple: És gratuït, ràpid i fàcil d’instal·lar i actualitzar. Té un ampli ecosistema d’extensions que et permeten afegir funcionalitats i personalitzar la teva experiència de desenvolupament. Té un suport integrat per a molts llenguatges i entorns d’execució, i et permet depurar i executar el teu codi des del mateix editor. Té una interfície senzilla i elegant, amb diferents temes i modes de visualització. Té un sistema de sincronització de configuracions que et permet guardar les...

Las Mejores Aplicaciones Gratis para iPad de 2012

Las Mejores Aplicaciones Gratis para iPad de 2012 : ¿No tienes ni un duro? No te preocupes, pues hoy os traemos una extensa selección de las mejores apps gratuitas que puedes conseguir en la App Store para que llenes tu iPad de calidad, sin gastar nada de nada.   ¿Estás buscando juegos o apps gratis para tu iPad? En la App Store hay más de 500,000 apps y juegos, y una gran cantidad de ellos está disponible de forma totalmente gratuita. Aquí vamos con la selección de las mejores Apps gratis para iPad (todos los modelos), organizada por categoría. ¿Estás preparado? Las Mejores Apps Gratis de Redes Sociales para iPad Nombre Facebook Gratis Categoría Redes sociales Facebook es la red social más famosa del mundo , con casi mil millones de usuarios. Su app para iPad ha tardado, pero aquí está. Nombre Twitter Gratis Categoría Redes sociales Twitter es la red de microblogging por excelencia. La forma más rápida y directa de informar y mantenerse informado de las cosa...