淘宝放大镜的简单实现,原来道理很简单

前言:自己在学习过程中构思的淘宝放大镜的实现,大佬轻喷,小白可以跟我一起探讨学习。话不多说,我们来看效果图。

首先是html结构,结构主要就三块,放大镜,小图和大图区域,我们都用div来实现。

图是在淘宝取的网络地址。

css代码我就不截图了,简单说几个需要注意的地方就行,一个就是放大镜需要设置透明度,这个透明度多少就看你自己喜欢了。第二个就是大图区的背景图需要设置为两倍的大小。当然不一定要是两倍,但一定要比本身的宽高要大,不然无法取得放大的效果。

我们主要来看看js代码,

简单解释代码: 1.鼠标移入事件,让放大镜出现,并且设置出现的位置为贴靠在小图的边缘。 2.鼠标移动事件,鼠标移动伴随着放大镜的移动。当然这里也有限制,鼠标一旦超出,放大镜就会贴靠或者消失。计算鼠标的xy值,xy值减去放大镜宽高的一半就是放大镜的xy值,通过放大镜的xy值再减去小图的xy值,就可以算出放大镜移动的距离。根据移动的距离*2,就是大图背景移动的距离。 逻辑比较绕,觉得绕的可以在纸上画个图来分辨这些距离。

最好,如果觉得有收获,点个收藏和留言探讨哦!复制代码

转载于:https://juejin.im/post/5b61ae975188251b3950f899

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值