放大镜效果

题九:放大镜效果

要求:

1.鼠标移至图片上方,鼠标周围出现黄色的的正方形框,黄色矩形 框会随着鼠标的移动而移动;

2.将黄色正方形框里的内容的长和宽均放大2.4倍,并在图片右边进 行显示。

原理:

  1. 首先把要放大的图片先size*2.4倍,位置要从零开始,绑定事件mousemove一定不要写错。

  2. 定位鼠标在视口的位置,在减去图片离视口的位置,就是鼠标在图片中的位置,高度的话还要减去滚动卷去的高度。

  3. 最后在图片的范围内,实现放大效果(加-才能网正方向去)

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> .con { width: 100%; height: 1000px; } .small { width: 400px; height: 400px; background-image: url(./任务/交互图片/9.jpg); background-repeat: no-repeat; background-size: cover; border: 1px solid black; display: inline-block; } .big { width: 400px; height: 400px; border: 1px solid black; display: inline-block; background-image: url(./任务/交互图片/9.jpg); background-repeat: no-repeat; background-size: 960px ,960px; background-position: 0,0; }
    复制代码
     </style>
    </head> <body>
    <script>
    复制代码
         const small = document.querySelector('.small');
         const big = document.querySelector('.big');
    
         small.addEventListener('mousemove', function (e) {
             const rect = small.getBoundingClientRect();
             let x = e.pageX - rect.left;
             let y = e.pageY - rect.top - document.documentElement.scrollTop;
    
             if (x >= 0 && x <= rect.width && y >= 0 && y <= rect.height) {
               
                 big.style.backgroundPositionX = -x * 2.4 + 'px';
                 big.style.backgroundPositionY = -y * 2.4 + 'px';
             }
         });
     </script>
    </body> </html>

视频:

放大镜效果

相关推荐
蓝翔认证10级掘手9 分钟前
🤯 家人们谁懂啊!我的摸鱼脚本它...它成精了!🚀
javascript
前端康师傅32 分钟前
JavaScript 中你不知道的按位运算
前端·javascript
小桥风满袖35 分钟前
Three.js-硬要自学系列38之专项学习缓冲几何体
前端·css·three.js
tianchang1 小时前
策略模式(Strategy Pattern)深入解析与实战应用
前端·javascript·代码规范
best6661 小时前
JavaScript的Math内置对象,到底是何方神圣?
javascript
掘金安东尼1 小时前
技术解析:高级 Excel 财务报表解析器的架构与实现
前端·javascript·面试
Hilaku1 小时前
深入CSS层叠的本质:@layer如何优雅地解决样式覆盖与!important滥用问题
前端·css·html
每天开心1 小时前
一文教你掌握事件机制
前端·javascript·ai编程
LeeAt1 小时前
真的!真的就一句话就能明白this指向问题
前端·javascript
Winwin2 小时前
js基础-数据类型
javascript