用原生JS实现一个简易的放大镜功能
附带放大镜相关公式 以及 offsetX,offsetY抖动解决办法
效果如图:

先完成HTML结构:
<div class="zoom">
<!-- 小图 -->
<div class="smallImg">
<!-- 遮罩层 -->
<div class="mask"></div>
</div>
<!-- 放置大图的div -->
<div class="big">
<!-- 大图 -->
<img class="bigImg" src="./image.jpg" alt="">
</div>
</div>
CSS样式:
* {
margin: 0;
padding: 0;
}
.smallImg {
position: absolute;
width: 200px;
height: 200px;
left: 300px;
top: 100px;
border: 1px solid #ccc;
background-image: url('./image.jpg');
background-size: cover;
}
.mask {
display: none;
position: absolute;
width: 50px;
height: 50px;
background-color: red;
opacity: .3;
}
.big {
/* 大图默认隐藏 */
display: none;
position: absolute;
top: 100px;
left: 502px;
width: 300px;
height: 300px;
border: 1px solid #ccc;
/* 让大图溢出部分隐藏 */
overflow: hidden;
}
JavaScript实现放大镜功能及offset抖动解决

本文介绍了如何使用原生JavaScript实现一个简单的放大镜功能,详细讲解了关键步骤,包括HTML结构、CSS样式以及JavaScript事件监听。在实现过程中,通过监听鼠标移动事件,动态调整遮罩层和大图的位置,同时解决了offsetX和offsetY抖动问题,确保放大镜效果平滑。
最低0.47元/天 解锁文章
4379

被折叠的 条评论
为什么被折叠?



