js图片放大镜实例讲解(必看篇)

  

  

当打开页面时只有图片

  

首先,说一下基本效果和调理,图片放大镜,也就是当你鼠标移入当前的商品图片时,会出现一个小灰色的观察移动框,有点会出现一个对应部位的放大的图片。

  

然后当鼠标移动时,右边的放大镜会出现对应部位的放大图片

  

最后当鼠标移开后,小的观察框和放大的图片都会消失。

  

        & lt; !DOCTYPE html>   & lt; html>   & lt; head>   & lt;元charset=皍tf - 8”比;   & lt; title> & lt;/title>   & lt;风格类型=" text/css "比;   #小{   宽度:300 px;   身高:300 px;   边界:1 px固体耐火砖;   浮:左;   位置:相对;   }   #小img {   宽度:100%;   高度:100%;      }   #{面具   宽度:100 px;   身高:100 px;   背景:rgba (0, 0, 0, 0.3);   位置:绝对的;   上图:0;   左:0;   显示:没有;   }   #{大   宽度:300 px;   身高:300 px;   边界:1 px固体hotpink;   溢出:隐藏;   浮:左;   margin-left: 50 px;   位置:相对;   显示:没有;   }   #大img {   位置:绝对的;   }   & lt;/style>   & lt;脚本type=" text/javascript祝辞   窗口。onload=function () {//获取到所有的元素,因为有对应元素的移动,所以在设置样式的,一定要给对应的元素绝对定位,类似于拖拽   var oSmall=. getelementbyid(小),   oMask=. getelementbyid(“面具”),   oBig=. getelementbyid(“大”),   oBigImg=. getelementbyid (“bigImg”);//给当前小的div一个鼠标移入事件   oSmall。onmouseover=function () {//当鼠标移入时,对应的区域显示小的观察框,和对应的右面的放大图片   oMask.style。显示=翱椤?   oBig.style。显示=翱椤?   };   oSmall。onmouseout=function () {//当鼠标移除时对应的区域隐藏   oMask.style。显示='没有';   oBig.style。显示='没有'   }   oSmall。onmousemove=function (ev) {//首先获取到事件事件   var oEvent=ev | |事件;//offsetWidth=本身的样式宽+左右填充+左右边界//clientX clientY获取鼠标指针位置,相对于当前窗口的X和Y坐标//鼠标距离当前窗口左边的距离了l,就为当前鼠标距离窗口左边的距离减去小的观察框的宽度//oMask。offsetWidth/2设置鼠标处于正中心的位置   var l=oEvent。clientX——oMask。offsetWidth/2;   var t=oEvent。clientY——oMask。offsetHeight/2;//对观察框距离的限制,1。当它距离左边的距离比0小的时候,设置它为0就是它移动到最左边的时候   如果(l & lt;0){   l=0;   }else if (l比;oSmall。offsetWidth - oMask.offsetWidth) {//当它移动到最右边的时候,设置它的左值为当前的值   l=oSmall。offsetWidth - oMask.offsetWidth;   };//同理对上下边界进行设置   如果(t & lt;0){   t=0;   }else if (t比;oSmall。offsetHeight - oMask.offsetHeight) {   t=oSmall。offsetHeight - oMask.offsetHeight;   };//设置小的观察框的移动时的当前位置   oMask.style。左=l +“px”;   oMask.style。顶级=t +“px”;//设置对应的右边放大图片对应的位置//var=l/(oSmall规模。offsetWidth - oMask.offsetWidth);//大的可视区域的宽减去小的观察框对应的宽,就是可移动的总距离,当前处的位置,处于总的距离的比例与大图片,在大图片的可视框里所处的位置相同所以如下   oBigImg.style。左=l * (oBig。offsetWidth - oBigImg.offsetWidth)/(oSmall.offsetWidth-oMask.offsetWidth) +“px”;   oBigImg.style。=t * (oBig。offsetHeight - oBigImg.offsetHeight)/(oSmall.offsetHeight-oMask.offsetHeight) +“px”;      }   }   & lt;/script>   & lt;/head>   & lt; body>   & lt; div id=靶 痹?   & lt; img src=" https://www.yisu.com/zixun/img/s.jpg "/比;   & lt;跨越id="面具"祝辞& lt;/span>   & lt;/div>   & lt; div id=按蟆痹?   & lt; img src=" https://www.yisu.com/zixun/img/b.jpg " id=" bigImg "/比;   & lt;/div>   & lt;/body>   & lt;/html>      

还有什么更好的方法互相交流

  

以上这篇js图片放大镜实例讲解(必看篇)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

js图片放大镜实例讲解(必看篇)