Básicamente, he visto muchos sitios web de animación avanzada. Y traté de crear una imagen en la que sigue las imágenes mientras muevo el cursor del mouse junto con las coordenadas div.
Básicamente, el código es así en mi codepen.
https://codepen.io/myth-vince/pen/PoQJOXj
Cuando intente mover el cursor a la imagen... será como si se teletransportara en la parte superior izquierda porque creo que esa es la altura y el ancho rectos constantes de la imagen.
Si alguien me puede ayudar con esto... Será un gran agradecimiento. Creé algunas animaciones avanzadas como esta, pero nunca me encontré con esto antes de que simplemente me teletransporte de repente.
creo que tiene algo con esto
var rect = e.target.getBoundingClientRect(); console.log(rect) var x = e.clientX - rect.left; //x position within the element. var y = e.clientY - rect.top; //y position within the element.O tal vez el SCSS, pero no sé dónde porque todo parece estar bien ... pero creo que el único problema real aquí es que cuando intento hacer que también centre la imagen en el cursor del mouse, simplemente se ajustará y no se alineará. centro del cursor del mouse porque está evitando que se teletransporte.
EDITAR
Para obtener más información, la parte de mouseover y mousemove , mousemove, solo comenzará cuando el mouse esté pasando el div, por lo que la imagen comenzará a moverse.
Ahora, por el segundo, necesito obtener e.clientX y e.clientY para que pueda llegar a donde está la parte de div. Y como rectX y rectY es obtener la parte de alto y ancho
Mostrar DIV en el cursor del mouse sobre el desplazamiento del intervalo
Puedes verlo aquí el enlace.
y de dónde saqué el retraso del movimiento de las imágenes está aquí
var rect = e.target.getBoundingClientRect();Ahí está tu problema.
Como la mayoría de los otros tipos de eventos, el evento mousemove burbujea a través del DOM.
Cuando coloca el cursor sobre una de esas imágenes, entonces e.target ya no es el box , sino esa imagen en particular. Por lo tanto, ahora no está trabajando con los datos getBoundingClientRect relacionados con su cuadro, sino con la imagen en particular.
Tan pronto como hagas esto
var rect = box.getBoundingClientRect();en cambio, el problema se ha ido.