jQuery实现放大镜特效
效果图。
HTML页面中的代码:
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <meta charset="UTF-8">
5 <title></title>
6 <style type="text/css">
7 #fang{
8 position: absolute;
9 width: 100px;
10 height: 100px;
11 border-radius: 50px;
12 background-color: cornflowerblue;
13 display: none;
14 }
15 </style>
16 </head>
17 <body>
18 <div id="test1">
19 <img src="img/panda.jpg"width="800px"/>
20 <div id="fang">
21
22 </div>
23 </div>
24 <script src="js/jquery-3.2.1.min.js" type="text/javascript" charset="utf-8"></script>
25 <script src="test_2.js" type="text/javascript" charset="utf-8"></script>
26 </body>
27 </html>
jQuery中的代码:
1 $(function(){
2 //获得图片离浏览器顶端的距离
3 var top=$("#test1 img").position().top;
4 //获得图片离浏览器左端的距离
5 var left=$("#test1 img").position().left;
6 //鼠标在图片内部移动
7 $("#test1 img").mousemove(function(e){
8 $("#fang").css({
9 //此时鼠标的位置
10 "top":e.clientY+20+"px",
11 "left":e.clientX+20+"px",
12 //放大镜中的图片
13 "background-image":"url(img/panda.jpg)",
14 "background-size":"800px 450px",
15 "background-repeat":"no-repeat",
16 //调整放大镜中的图片的位置
17 "background-position":"-"+(e.clientX-left-51)+"px -"+(e.clientY-top-48)+"px",
18 //放大图片
19 "transform":"scale(1.5,1.5)"
20 });
21 });
22 //鼠标移进图片时显示放大镜
23 $("#test1 img").mouseenter(function(){
24 $("#fang").show();
25 });
26 //鼠标移出图片时隐藏放大镜
27 $("#test1 img").mouseout(function(){
28 $("#fang").hide();
29 });
30 });