JS实现放大镜

首先我们要知道每个步骤要干什么,其次在用JS实现这个功能
1.实现放大镜效果必须要有两个区域,一个是原始图片,另一个则是放大后的图片
2.要使用什么事件来触发放大镜

css代码

*{
            margin: 0;
            padding: 0;
        }
        #pic{
            width: 480px;
            height: 300px;
        }
        #view{
            width: 200px;
            height: 200px;
            border: 2px solid red;
            position: relative;
            overflow: hidden;

        }
        #view img{
            width: 960px;
            height: 600px;
            position: absolute;
            /* left: -560px;
            top: -28px; */
        }

html代码

<!-- 原始图片 -->
    <img src="./d.jpg" alt="" id="pic">
    <!-- 放大镜区域 -->
    <div id="view">
        <!-- 放大2倍的图片 -->
        <img src="./d.jpg" alt="" id="pic2">
    </div>

js代码
首先我们要获取每一个需要的元素。因为需要放大镜效果,所以可以用鼠标事件"onmousemove"(当鼠标触碰时引发事件)
然后再为原始图片添加触碰事件,函数传入形参e。最后在通过改变被放大图片的位置来与鼠标相对称
e.clientX与e.clientY是JS中内置属性。坐标轴在图片右上角,所以此处使用负值

		var pic  = document.getElementById('pic')
        var pic2 = document.getElementById('pic2')
        var view = document.getElementById('view')

        pic.onmousemove = function(e){
            pic2.style.left = -e.clientX*2+100 + 'px'
            pic2.style.top  = -e.clientY*2+100 + 'px'
        }
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值