Tutoriales

ScrollMagic: Diseño Web divertido

En el diseño web una tendencia es como el estilo que ha sido adoptado para la realización de los sitios el cual es fuertemente aceptado por los usuarios, usualmente en periodos temporales. Parte de las tendencias en lo que va de 2016 y, aparentemente, seguirá marcando la pauta en 2017, son las animaciones y las secciones largas con mucho scroll.

No es un secreto que este estilo es bastante atractivo y divertido para el usuario, con las animaciones podemos hacer que su navegabilidad por el sitio sea intuitiva y entretenida siempre que sean bien utilizadas. Por este motivo hemos creado un tutorial para incluir en tu sitio web desplazamientos animados, utilizando el plugin de jQuery ScrollMagic.

ScrollMagic: Diseño Web divertido

logo-scrollmagic

ScrollMagic es una librería realizada en javascript para lograr interacciones en el desplazamiento de los sitios web. Es una reescritura completa de su predecesor Superscrollorama y su arquitectura está basada en complementos que ofrecen fácil personalización y extensibilidad.

Es ideal si queremos implementar algunas de las siguientes cosas:

  • Animación basada en la posición o desplazamiento del sitio.
  • Desencadenar la animación o sincronizarlo con el movimiento del scroll.
  • Añadir efecto parallax sin mucho esfuerzo.
  • Crear una página con scroll infinito, manejando carga de contenido con ajax.

Características de ScrollMagic

  • Rendimiento optimizado, es ligero, flexible y permite extensibilidad.
  • Maneja gestión de eventos y programación orientada a objetos.
  • Soporta el diseño web adaptativo.
  • Tiene soporte para desplazamientos en ambos sentidos (horizontal y vertical)
  • Tiene soporte para desplazamientos dentro de los contenedores (div), incluso múltiples en una sola página.
  • Funciona perfectamente para los navegadores: Firefox 26+, Chrome 30+, Safari 5.1+, Opera 10+, IE 9+.
  • En su repositorio GitHub, posee documentación detallada y muchos ejemplos de aplicación.

Obtener ScrollMagic

Está disponible para obtenerlo de diversas maneras.

1: GitHub

[php] git clone git://github.com/janpaepke/ScrollMagic.git
[/php]

2: Bower

[php] bower install scrollmagic
[/php]

3: node package manager

[php] npm install scrollmagic
[/php]

4: CDN

[php] http://cdnjs.cloudflare.com/ajax/libs/ScrollMagic/2.0.5/ScrollMagic.min.js
[/php]

También puedes leer Cómo personalizar el diseño de un correo en Outlook

Instalación y uso

La instalación es bastante sencilla, solo incluimos el archivo del núcleo a los archivos html donde queremos usarlo.

[php] <script src="js/scrollmagic/minified/ScrollMagic.min.js"></script>;
[/php]

Para su uso, el plugin provee un patrón de diseño orientado a un controlador, al cual se le agregan una o más escenas. Dichas escenas se utilizan para definir lo que ocurre en los contenedores cuando se desplazan a un punto específico.

Este sería un ejemplo básico:

[php]

// init controller
var controller = new ScrollMagic.Controller();

// create a scene
new ScrollMagic.Scene({
duration: 100, // the scene should last for a scroll distance of 100px
offset: 50 // start this scene after scrolling for 50px
})
.setPin("#my-sticky-element") // pins the element for the the scene’s duration
.addTo(controller); // assign the scene to the controller

[/php]

Un ejemplo más avanzado sería, lograr múltiples desplazamientos, su código fuente sería:

multiple-direccion

[php]

$(function () { // wait for document ready
// init controller
var controller = new ScrollMagic.Controller();

// build tween
var tween = TweenMax.to("#animate", 0.5, {scale: 3, ease: Linear.easeNone});

// build scene
var scene = new ScrollMagic.Scene({triggerElement: "#multiDirect", duration: 400, offset: 250})
.setTween(tween)
.setPin("#animate")
.addIndicators({name: "resize"}) // add indicators (requires plugin)
.addTo(controller);

// init controller horizontal
var controller_h = new ScrollMagic.Controller({vertical: false});

// build tween horizontal
var tween_h = TweenMax.to("#animate", 0.5, {rotation: 360, ease: Linear.easeNone});

// build scene
var scene_h = new ScrollMagic.Scene({duration: 700})
.setTween(tween_h)
.setPin("#animate")
.addIndicators({name: "rotate"}) // add indicators (requires plugin)
.addTo(controller_h);
});

[/php]

Puedes encontrar muchos más ejemplos con su código fuente en la documentación del plugin.

Yeraldine

Lcda. en Computación, Programadora, Apasionada por el Desarrollo Web. A veces Bellydancer, otras veces Yogui. Amo viajar, los libros y la música. En mis RRSS: @yerita02
Los datos de carácter personal que nos facilite mediante este formulario quedarán registrados en un fichero de Miguel Ángel Navas Carrera, con la finalidad de gestionar los comentarios que realizas en este blog. La legitimación se realiza a través del consentimiento del interesado. Si no se acepta no podrás comentar en este blog. Puedes consultar Política de privacidad. Puede ejercitar los derechos de acceso, rectificación, cancelación y oposición en [email protected]
Botón volver arriba