为了账号安全,请及时绑定邮箱和手机立即绑定

js如何以鼠标为中心对图片进行缩放。

js如何以鼠标为中心对图片进行缩放。

Cats萌萌 2019-03-20 17:15:05
我目前用了transform的translate使图片可以平移,并用scale对图片进行缩放。然后想实现一下缩放的中心点根据鼠标位置而定这一功能,但是发现如果已经进行了缩放,修改transform-origin后会导致图片瞬移。在缩放之前将目标瞬移到中央再放大感觉交互上不上很好,求实现过类似功能的大神指点一下思路~
查看完整描述

6 回答

?
摇曳的蔷薇

TA贡献1793条经验 获得超6个赞

transform-origin 不要动,根据鼠标位置以及当前 scale 和 translate 计算新的 scale 和 translate 就行。


查看完整回答
反对 回复 2019-03-26
?
白板的微信

TA贡献1883条经验 获得超3个赞

直接把鼠标中心设置成transform-origin


查看完整回答
反对 回复 2019-03-26
?
德玛西亚99

TA贡献1770条经验 获得超3个赞

就是类似淘宝商品图片放大的那种吧,搜索下有不少别人的代码可以参考下。
我没有写过这功能,不过要做的话,一般都有成熟的插件实现。
链接描述

查看完整回答
反对 回复 2019-03-26
?
动漫人物

TA贡献1815条经验 获得超10个赞

translateX增加的距离 = (0.5 - 鼠标所在位置于x轴上的比例) * (缩放后的宽度 - 缩放前的宽度);
translateY增加的距离 = (0.5 - 鼠标所在位置于y轴上的比例) * (缩放后的高度 - 缩放前的高度);

查看完整回答
反对 回复 2019-03-26
?
慕容3067478

TA贡献1773条经验 获得超3个赞

瞬移应该是由于变形原点是基于未缩放之前的图片来算的,并不会跟随缩放后的图片而动,所以会瞬移到相对于原图变形原点的位置缩放


查看完整回答
反对 回复 2019-03-26
  • 6 回答
  • 0 关注
  • 2186 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信