我有一个
<img>
标签,通过调整transform: scale()
来实现鼠标滚轮缩放。我希望缩放效果像Google Maps一样,即缩放到鼠标光标所在位置,而不是图像中心。但我不想使用canvas,只是为了学习体验(这也是为什么我找到的其他问题并没有真正帮助我的原因)。我设置了一个JSFiddle来演示问题。我的思路如下:当缩小10%时,图像会从图像中心向所有方向扩展10%。这意味着例如左边和右边的边缘将分别向两个方向移动原始宽度的5%。因此,我尝试以下解决方法:
- 计算图像中心到鼠标光标的偏移量
- 通过将鼠标偏移量乘以缩放因子并除以2来计算新的图像偏移(上和左)
- 应用偏移并观察它们全部爆炸的力量,就像一百万个太阳燃烧一样
mousewheel
,请改用wheel
作为eventListener
。 - user11484628