大家好,
我一直在尝试重新创造这个效果:当鼠标靠近图片中心时,图片会放大,这个效果可以在https://www.davidwilliambaum.com/上找到。
到目前为止,我的尝试非常不成功,因为我不确定如何解决这个问题。
我已经在Codepen上开始了一些想法:https://codepen.io/dindon-studio/pen/RwLwRKM
正如你们所看到的,我首先获得了图像的中心坐标,然后尝试使用一些草率的公式将它与鼠标距离缩放。但是它非常有bug并且一点也不令人信服。
有没有更好的方法?非常感谢你们的帮助!
var mX, mY, distance, element
element = $('.project')
function calculateDistance(elem, mouseX, mouseY) {
return Math.floor(Math.sqrt(Math.pow(mouseX - (elem.offset().left+(elem.width()/2)), 2) + Math.pow(mouseY - (elem.offset().top+(elem.height()/2)), 2))); }
$(document).mousemove(function(e) {
mX = e.pageX;
mY = e.pageY;
distance = calculateDistance(element, mX, mY);
if (distance< 500 && distance >50){
var scaling = 1 + (1/distance) *100
gsap.to(".project", {duration: 0.01, scale: scaling,ease: "power2.in",});
}
});
overwrite: true
或"auto"
来终止之前的缓动效果。 - Zach Saucier