
思路:
先让move块和bimg块隐藏,当鼠标移动到box上时,使move块和bimg块显示,获取鼠标当前的位置,然后经过计算给与move块和bimg块适当的值实现放大镜效果(move块和bimg块的位置的计算后面有详细介绍)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>放大镜</title> <link href="css/bigimg.css" rel="stylesheet" /> <script src="js/bigimg.js"></script> </head> <body onload="bigimg()"> <p id="box"> <img src="images/simg.jpg" alt="#"> <p id="move"></p> <p id="bimg"> <img id="b_bimg" src="images/bimg.jpg" alt="#"> </p> </p> </body> </html>
css样式:
*{
margin:0px;
padding:0px;
}
#box{
width:430px;
height:430px;
margin:100px;
margin-left:17%;
position:relative;//这里使用相对定位,好让其他的元素能依靠这个元素定位
}
#move{
background-image:url(../images/move.png);
width:220px;
height:220px;
position:absolute;
left:0px;
top:0px;
display:none;//先让他隐藏,用js使其显示
}
#bimg{
width:430px;
height:430px;
overflow:hidden;
position:absolute;
top:0px;
left:450px;
display:none;//先让他隐藏,用js使其显示
}
#bimg img{
width:800px;
height:800px;
position:absolute;
top:0px;
left:0px;
}Javascript:
效果图:

1、move块的计算

黑色箭头:
红色箭头:
橙色箭头:
2、bimg块的计算
利用move块在可移动范围内的比例来设置大图的位置
move块的移动范围:
move块现在的坐标占可移动范围的比例:
bimg的移动范围:
bimg的位置:
总结:
相信大家通过对本文的学习对JavaScript实现放大镜效果有了进一步的了解,对于不了大镜效果的小伙伴是一个不错的选择,希望对你工作有所帮助!
相关推荐:
如何用jQuery实现放大镜效果
Canvas实现放大镜效果
用css实现图片放大镜效果实例详解(图)
