Antes de empezar este pequeño tutorial es recomendable si no cuentas con conocimientos previos en JavaScript se te invita a leer el siguiente artículo JavaScript para principiantes.

Logo de JavaScript

En el siguiente ejemplo se mostrará cómo se realiza el efecto parallax en JavaScript, el cual  es una técnica en el desarrollo web , su función es que  las imágenes de fondo se muevan más lentas que las imágenes de primer plano, creando una ilusión de profundidad, para este ejemplo es necesario tener conocimiento básico de HTML y CSS.

Se necesitan crear 3 archivos y una imagen que abarque toda la dimensión de tu página web en tu carpeta de proyecto

  • index.html
  • style.css
  • main.js

Contenido HTML y CSS

En index.html agregamos las siguientes líneas de código en la sección head

En body se deben colocar un div con una clase .contenido que tenga varios article dentro con varios párrafos p dentro, esto es para que el contenido pueda tener scroll activo.

En style.css le asignamos al body la imagen como fondo, y le damos las siguientes propiedades, que se adapte al 100% de la pantalla y que sea fija.

Centraremos nuestra clase contenido y le daremos un mejor aspecto visual a nuestros article.

Efecto parallax

Lo siguiente por hacer es que nuestra imagen de fondo baje más lento que nuestro contenido al desplazarnos con el scroll como está se encuentra en position fixed se quedará fija pero podemos cambiar ese comportamiento con jQuery, usando la propiedad background-position.

background-position permite mover el fondo de nuestro sitio mediante 2 valores, en el primer valor indicamos cuánto queremos que se desplace de izquierda a derecha y en el segundo cuanto desplazamos de arriba a abajo.

Necesitamos utilizar el segundo valor para moverlo de arriba hacia abajo, esto se hace mediante el siguiente código jQuery en nuestro archivo main.js.

Con la línea $(document).ready(function(){ }); le estamos indicando que el código funcione hasta que la pagina termine de cargar.

Dentro de la función agregamos un evento de esta forma $(window).scroll(function(){ }); esto es para indicar lo que queremos que haga cuando el usuario mueva el scroll.

Después debemos obtener el valor de nuestra barra para ello creamos una variable barra y la igualamos a la de nuestro scroll con el siguiente código var barra = $(window).scrollTop();

Para indicar la posición de la barra usamos una variable posición y la igualamos a barra0.15 esto es para que al momento de mover el scroll si se mueve 10 px se multiplicaran por 0.15 y el resultado será el movimiento de nuestro fondo, var posición = (barra0.15); se puede modificar la velocidad cambiando el valor de 0.15 en var posicion.

Accedemos al body en el CSS y editamos su propiedad con $(‘body’).css({ ‘background-position’: ‘0 – ’ + posicion + ‘px’ }); esto es como si en el CSS se pusiera un background-position: 0 -50px; el -50px es la posición de la barra.

Siguiendo cada paso de este post se puede hacer de manera sencilla el efecto parallax, así como muchos otros efectos que nos ayudan a tener aplicaciones web más dinámicas y atractivas. Si tienen alguna duda o sugerencia no olviden dejarla en la sección de comentarios.