面向对象放大镜

                           

                        <!DOCTYPE html>

                         <html lang="en">

                          <head>

                          <meta charset="UTF-8">

                         <meta name="viewport" content="width=device-width, initial-scale=1.0">

                        <meta http-equiv="X-UA-Compatible" content="ie=edge">

                        <title>Document</title>

                        <style>

                                  *{

                                       margin: 0;

                                       padding: 0;

                                 }

                                 #box{

                                      width: 400px;

                                      height: 400px;

                                      border:1px solid #ccc;

                                      position:relative;

                                      float:left;

                                      background:url("1.jpg")no-repeat;

                                      background-size:100% 100%;

                                  }

                                  #move{

                                         width: 100px;

                                         height: 100px;

                                         position:absolute;

                                         top:0;left:0;

                                         background:rgba(0,0,0,0.5);

                                         /* display:none; */

                                    }

                                     #div1{

                                           width: 400px;

                                            height: 400px;

                                            border:1px solid #ccc;

                                            position:relative;

                                            float:left;

                                            margin-left:50px;

                                             overflow: hidden;

                                        }

                                       #div1 img{

                                              width: 1000px;

                                              height: 1000px;

                                              position:absolute;

                                               top:0;left:0;

                                       }

                               </style>

                            </head>

                           <body>

                                      <div id="box">

                                            <div id="move"></div>

                                      </div>

                                      <div id="div1">

                                               <img id="Img" src="1.jpg" alt="">

                                       </div>

                        <script>

                                        window.οnlοad=function(){

                                        var Box = document.getElementById("box");

                                        var Move = document.getElementById("move");

                                        var Div1 = document.getElementById("div1");

                                        var Img = document.getElementById("Img");

                                        var zoom = new Zoom(Box,Move,Div1,Img);

                                        zoom.init();

                                   }

                                    function Zoom(Box,Move,Div1,Img){

                                       this.oBox = Box;

                                       this.oMove = Move;

                                       this.oDiv1 = Div1;

                                       this.oImg = Img;

                                   }

                                     Zoom.prototype.init = function(){

                                       this.W = this.oBox.clientWidth*this.oDiv1.clientWidth/this.oImg.clientWidth;

                                       this.oMove.style.width=this.W+"px";

                                       this.oMove.style.height=this.W+"px";

                                        var This = this;

                                       this.oBox.onmousemove = function(ev){

                                        var evt=ev||event;

                                        This.fnMove(evt);

                                     }

                                  }

                                       Zoom.prototype.fnMove = function(evt){

                                           var CX=evt.clientX-80;

                                           var CY=evt.clientY-80;

                                             if(CX<0){

                                                     CX=0;

                                             }

                                             if(CY<0){

                                                      CY=0;

                                             }

                                            if(CX>this.oBox.clientWidth-this.oMove.clientWidth){

                                                  CX = this.oBox.clientWidth-this.oMove.clientWidth;

                                              }

                                            if(CY > this.oBox.clientHeight-this.oMove.clientHeight){

                                                   CY = this.oBox.clientHeight-this.oMove.clientHeight;

                                               }

                                             this.oMove.style.left=CX+"px";

                                             this.oMove.style.top=CY+"px";

                                              var a=CX*1000/400;

                                              var b=CY*1000/400;

                                              this.oImg.style.left=-a+"px";

                                              this.oImg.style.top=-b+"px";

                                          }

                          </script>

             </body>

<html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值