Cerrar video

Cómo crear una página con desplazamiento horizontal (horizontal scrolling) en divi

por | May 30, 2019 | Tutorial gratuito | 41 Comentarios

En este tutorial aprenderás a crear una página con desplazamiento horizontal, en inglés «horizontal scrolling».

El efecto consiste que al desplazarnos hacia abajo (scroll down) o hacia arriba (scroll up) de la página ésta se desplazará horizontalmente y no verticalmente cómo lo es de manera natural. La verdad me es un poco difícil encontrar las palabras correctas para explicarte cómo funciona. Mejor dale Play al tutorial para que lo entiendas.

¡Espera! Antes quiero dejarte los fragmentos de código que utilizaremos en este tutorial.

Para realizar éste ejercicio, nos vamos a apoyar de una librería JavaScript llamada Skrollr.js. Y también de un «poquito» de código CSS.

El fragmento de código CSS que necesitamos es el siguiente (en el video te explico para que sirve):

@media only screen and (min-width: 981px) {
  #contenedor {
    position: fixed;
    width: 100%;
    display: flex;
  }
  #contenedor .fila {
      min-width: 100%;
  }
}

@media only screen and (max-width:981px){
    #contenedor {
        transform: none!important;
    }
}

También necesitamos enlazar la librería Skrollr.js, para eso usaremos el siguiente enlace:

https://cdnjs.cloudflare.com/ajax/libs/skrollr/0.6.30/skrollr.min.js

Además tenemos que aplicar unos atributos «data» al contenedor de las filas, lo haremos con este fragmento de código:

jQuery(function($){
$( "#contenedor" ).attr( "data-0", "transform:translateX(0%)" );
$( "#contenedor" ).attr( "data-4000", "transform:translateX(-400%)" );
});

Y por último debemos inicializar la librería Skrollr.js con el siguiente código (el código ha sido corregido para deshabilitarlo en móviles y éste funcione correctamente):

(function($){
$(document).ready(function() {
skrollr.init();
if( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) {
skrollr.init().destroy();
}
});
})(jQuery)  

¡Ahora sí! Dale play al video para que sepas dónde colocar todos estos fragmentos de código…

¿Te ha gustado este tutorial? 🚀

¡Los Tutoriales Premium te van a encantar! Desde solo $12 USD al mes accede a más de 200 (¡y contando!) tutoriales únicos y exclusivos sobre Divi y WordPress. ¡Únete ahora y aumenta al 200% tus habilidades de diseño web con Divi!

Tutoriales Relacionados

41 Comentarios

  1. Regina Lomelin

    Buenas noches, he seguido su tutorial para crear un sitio con scroll horizontal, funciona muy bien pero, ¿Cómo le puedo hacer para que se vea bien en el teléfono?
    Aunque sea scroll vertical estaría correcto, solo que ahora no se puede dar scroll para ningun lado
    Muchas gracias! Saludos,

    Responder
    • Oscar Viedma

      Regina reemplaza el código para inicializar la librería por este otro:

      (function($){
      $(document).ready(function() {
      skrollr.init();
      if (skrollr.init().isMobile()) {
      skrollr.init().destroy();
      }
      });
      })(jQuery)

      Responder
  2. Matthias Garez

    Hola, perdón por el mal español que tiene Google Translate. Tengo el mismo problema, funciona en el escritorio pero no en la tableta y el móvil y no sé cómo solucionarlo. ¿Tienes alguna sugerencia?

    Responder
    • Oscar Viedma

      Amigo ya tengo la solución, para que funcione reemplaza el código de inicializar skrollr.js por:

      (function($){
      $(document).ready(function() {
      skrollr.init();
      if (skrollr.init().isMobile()) {
      skrollr.init().destroy();
      }
      });
      })(jQuery)

      Responder
      • Oscar Viedma

        Sino te funciona en tabletas puedes probar con este otro código:

        (function($){
        $(document).ready(function() {
        skrollr.init();
        if( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) {
        skrollr.init().destroy();
        }
        });
        })(jQuery)

        Responder
        • Alex

          Hola Oscar.
          Enhorabuena por el tutorial, es fantástico y me funcionó sin problemas para móvil y desktop, Sin embargo no consigo que se vea bien en Tablet. He probado con el código que mencionas pero nada. ¿Alguna idea de por qué ocurre esto?
          Muchas gracias 😉

          Responder
          • Oscar Viedma

            Alex ¿probaste con este otro código?

            (function($){
            $(document).ready(function() {
            skrollr.init();
            if( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) {
            skrollr.init().destroy();
            }
            });
            })(jQuery)

            Inténtalo y me comentas como te va…

            Perdón creí que era un comentario nuevo, por lo visto lo probaste y no te funcionó 🙁 voy a investigar que pasa

  3. Javier González

    Hola Oscar. Este efecto de skroll, llamo mucho la atención y quise aprender a hacerlo. Seguí las instrucciones pero me aparece un error. ¡tu que conoces del tema tal vez pudieras orientarme!
    Sucede que cuando termino de ingresar los códigos css y js, y todas las 5 secciones quedan en el inicio. Hace el skroll horizontal perfectamente.
    link: https://soyweb.net/horizontal/

    Responder
    • Oscar Viedma

      Hola Javier. Es difícil saber que sucede simplemente con el enlace de tu sitio. Me gustaría entrar al administrador para poder revisar que pasa. Si gustas escríbeme a [email protected] y me das acceso a tu WP para revisar mas a detalle y darte una solución. 🙂

      Un abrazo.

      Responder
  4. Javier Amador

    Brutal!!! seguro que lo utilizaré, sólo una consulta, para saltar totalmente de una imagen a otra, debo hacer 13 saltos de la rueda del ratón, cómo podría hacer para que de un sólo movimiento de la rueda, saltara de una imagen a otra, gracias!!!!

    Responder
    • Oscar Viedma

      Hola Javier, eso que me comentas sería genial, la verdad que no lo he intentado pero sería estupendo poder lograr ese efecto. En cuanto tenga un tiempo libre trataré de hacer la prueba y si lo logro con mucho gusto compartiré la solución 🙂

      Responder
      • Javier

        Gracias, estaré atento 😉

        Responder
  5. Martin

    Está genial. Me ha encantado

    Pero, a mi no me funciona para móviles y me imagino que para Tablet tampoco. pongo el script que has comentado pero nada.

    Me encantaría implantarlo.

    Responder
  6. Charli

    Hola Oscar, que aporte tan bueno este. Quisiera saber si el scroll horizontal también se puede activar en celulares?. Saludos

    Responder
    • Oscar Viedma

      Hola Charli, sí se podría hacer un scroll horizontal en móvil pero sería otro método. Aunque no sé qué tan bueno sea para la experiencia de usuario ya que en móvil nos desplazamos con el dedo hacia abajo, pero de todas formas voy a intentar realizar un tutorial más adelante. Saludos

      Responder
      • Charli

        Gracias Oscar, tienes toda la razón y estoy de acuerdo contigo con respecto a la UX. Pero me refería a que al hacer scroll hacia abajo en el celular, el contenido se desplace horizontalmente. Sería como un translate?

        Responder
        • Oscar Viedma

          No estoy seguro que lo podamos lograr. Aún así trataré de realizarlo a ver si lo logro.

          Responder
  7. Pedro Rojas

    este efecto me sirve para crear post en un blog sin problema? es decir crear una plantilla e ir duplicanco y duplicando sin que tenga problemas.

    Responder
    • Oscar Viedma

      Interesante lo que propones Pedro, no lo he intentado pero podría funcionar 🙂 Trataré de realizar un tutorial al respecto. ¡Saludos!

      Responder
  8. Sebastian

    Hola Oscar,
    gracias por tu tutorial.

    Me a ayudado a cumplir las necesidades de un cliente.
    Solamente ando con la preocupación de su uso en celulares y tablets. Me aparece una pantalla completamente en blanco.

    Te he enviado un email.

    Responder
    • Oscar Viedma

      Hola Sebastian, tendría que darle un vistazo al sitio para saber que pasa.

      Por cierto, tengo un nuevo tutorial premium dónde realizamos también una página con desplazamiento horizontal, pero un poco más avanzada, puedes ver el post aquí.

      Responder
  9. Gio

    Muchas gracias por los aportes, por favor podrias ayudarme ya intento 2 pruebas pero no funciona, espero respuesta.

    Responder
    • Oscar Viedma

      Hola Gio, qué tal a ver envíame el enlace de tu web para ver que está pasando.

      Responder
  10. Andrés

    Hola Óscar,
    ¿habría posibilidad de además de hacer el desplazamiento con el scroll hacerlo con flechas?

    Muchas gracias de antemano

    Responder
    • Oscar Viedma

      Con el método de este tutorial no es posible. Pero tengo un tutorial premium con otro método que si es posible colocarle unas flechas.

      Responder
      • Andrés

        Hola Óscar, ¿qué tal todo? Espero que bien.

        Si me suscribiese por un mes, aparte de tener acceso al tutorial, ¿me incluirías el añadir unas flechas de desplazamiento?

        Muchas gracias y saludos,

        Responder
        • Oscar Viedma

          Hola Andrés, si por supuesto, te daría una mano con eso 🙂 ¡Saludos!

          Responder
  11. Jose

    Hola, buenas, vieras que lo hice y sí funciona, sin embargo, cuando intento colocar un módulo aparte, éste no se muestra y el scroll deja de funcionar. ¿Alguna idea de porqué deja de funcionar?

    Responder
  12. leire

    Hola buenas,

    He seguido todos los pasos pero no me ha salido… ¿ igual es por qué tengo un menú vertical?
    Me puedes ayudar?
    Gracias

    Responder
    • Oscar Viedma

      Hola, no creo que tenga que ver con el menú vertical… Tu configuración de divi performance deshabilita: Defer jQuery And jQuery Migrate… A ver si esto ayuda

      Responder
      • leire

        Deshabilite esa opción, y aún así nada…

        Responder
  13. Ivan Ramos

    Hola Oscar! Eres increíble, me encanta el efecto. Pero tengo un problema, en mi web «https://pruebas.crececonweb.com/» tengo un footer global, y el problema es que el footer se me pone por encima de la seccion de scrolling y sale primero el header luego el footer y luego la seccion de scrolling. A que se debe?? :((

    Responder
    • Oscar Viedma

      Hola Ivan, estoy revisando tu web pero no veo lo que mencionas. Creo que al final quitaste el efecto 🤔

      Responder
  14. Maria

    Hola, en la versión móvil sale una pagina vacía al final. ¿alguna solución por favor?

    Responder
    • Oscar Viedma

      Hola María, reviso lo que comentas. Compárteme la url de tu web por fa.

      Responder

Trackbacks/Pingbacks

  1. Cómo crear una página web con desplazamiento horizontal (horizontal scrolling) con divi sensible a efectos de animación - OV DIVI - […] eres de los miembros que me siguen desde hace tiempo sabrás que hace ya algún tiempo realicé un tutorial…

Enviar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Tutoriales Exclusivos

Tutoriales exclusivos OV Divi

Lleva tus sitios web creados con divi al siguiente nivel.

Accede a tutoriales exclusivos y únicos de divi y saca el máximo provecho del mejor tema y constructor visual para WordPress.

$12 USD / mes

Pin It on Pinterest