¿Cómo crear efectos de paralaje de mousemove usando HTML CSS y Javascript?

En este artículo, aprenderemos a crear un efecto de paralaje Mousemove usando CSS y JavaScript . En el efecto de paralaje Mousemove, una imagen se mueve en una dirección diferente a una velocidad diferente cuando movemos el cursor. Los efectos de paralaje se utilizan para hacer que el sitio web sea más atractivo y aumentar el nivel de interactividad del sitio web. El efecto de paralaje es una forma de desplazar o mover las imágenes de primer plano y de fondo a diferentes velocidades en diferentes direcciones. Podemos usar cualquiera de las combinaciones, es decir, un texto con una imagen o una imagen con una imagen, para crear el efecto de paralaje. 

Acercarse: 

  • En la etiqueta <body>, cree una etiqueta <div> para asignar algunas imágenes en las que se aplicará el efecto de paralaje, asigne un nombre de clase y un atributo de valor a cada imagen que sea responsable de la cantidad de desplazamiento de la imagen.
  • Para los estilos CSS, agregue algunas propiedades CSS en la etiqueta de estilo , como la posición y el tamaño de las imágenes.
  • Hemos tomado la ayuda de JavaScript para implementar el efecto de paralaje. En el fragmento proporcionado bajo la etiqueta del script , hemos creado una función de paralaje que utiliza el nombre de clase de la etiqueta img para obtener el valor con fines de posicionamiento y desplazamiento.

Ejemplo: En este paso, crearemos un efecto de paralaje de movimiento del mouse utilizando el enfoque anterior.

index.html

<!DOCTYPE html>
<html lang="en">
  <head>
    <style>
      * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
        font-family: sans-serif;
      }
      body {
        background-color: rgb(102, 189, 16);
      }
      .mouse_move {
        position: relative;
        width: 100%;
        height: 100vh;
        overflow: hidden;
        display: flex;
        justify-content: center;
        align-items: center;
      }
      .mouse_move h2 {
        position: relative;
        font-size: 100px;
        color: white;
      }
  
      .mouse_move img {
        position: absolute;
      }
      #img1 {
        top: 80px;
        left: 80px;
        height: 250px;
        width: 250px;
      }
      #img2 {
        bottom: 80px;
        right: 80px;
        height: 250px;
        width: 250px;
      }
    </style>
    <title>Parallax</title>
  </head>
  <body>
    <div class="mouse_move">
      <img
        id="img1"
        src=
"https://media.geeksforgeeks.org/wp-content/uploads/20210101144014/gfglogo.png"
        class="mouse"
        value="5"/>
      <h2>GeeksforGeeks</h2>
      <img
        id="img2"
        src=
"https://media.geeksforgeeks.org/wp-content/cdn-uploads/20190710102234/download3.png"
        class="mouse"
        value="-5"/>
    </div>
  
    <script type="text/javascript">
      document.addEventListener("mousemove", parallax);
      function parallax(event) {
        this.querySelectorAll(".mouse").forEach((shift) => {
          const position = shift.getAttribute("value");
          const x = (window.innerWidth - event.pageX * position) / 90;
          const y = (window.innerHeight - event.pageY * position) / 90;
  
          shift.style.transform = `translateX(${x}px) translateY(${y}px)`;
        });
      }
    </script>
  </body>
</html>

Producción:

En el ejemplo anterior, puede ver que cuando movemos el cursor de una dirección a otra, las imágenes comienzan a flotar o cambiar. 

Publicación traducida automáticamente

Artículo escrito por anuragsingh1022 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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