基本信息
源码名称:JS实现放大镜效果
源码大小:0.93M
文件格式:.rar
开发语言:js
更新时间:2018-06-04
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍



<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <meta name="Generator" content="EditPlus®">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
  <title>JS实现放大镜查看大图效果</title>
  <style>
 *{
                                  margin:0;
				                 padding:0;
    }
    #product{
				         position:relative;
				                width:100%;
			                  height:640px;
	}
    .mid-box{
	                     position:absolute; 
					              top:10px;
		                         left:10px;
		                        float:left;
			                   width:350px;
			                  height:449px;	           
                  border:1px solid #747474;
                         text-align:center;
		             vertical-align:middle;
			                     z-index:5;
	}
	.mid-box  >  img{
	                     position:absolute;
		                             top:0;
		                            left:0;
	}
	.mid-box  .move-slider{
		                      display:none;
		                 position:absolute;
					                 top:0;
					             left:-50%;
					           width:175px;
		                        height:50%;
	 background-color:rgba(234,218,147,.6);
	                           cursor:move;
			                    z-index:10;

	}
    .small-box{
	                     position:absolute;	 
		                         left:20px;
		                      bottom:113px;
			                   width:380px;
			                   height:64px;
	}
	.small-box li{
	                  list-style-type:none;
			                    float:left;
			                   height:64px;
		                  margin-right:6px;
					
	}
	.small-box li.on{
	                  border:1px solid red;
	}
	.big-box{
	                          display:none;
		                 position:absolute;
				                  top:10px;
		                        left:368px;
		                        float:left;
		                   overflow:hidden;
		                       width:400px;
		                      height:513px;		       		       
                  border:1px solid #747474;
                                 z-index:5;
	}
   .big-box  .bigImg{
                         position:relative;
				                   top:0px;
			                   	  left:0px;
	    
	}
  </style>
  <script type="text/javascript">
   window.onload=function(){
         var productBox=document.getElementById("product");
		 var midBox=productBox.getElementsByClassName("mid-box")[0];
		 var bigBox=productBox.getElementsByClassName("big-box")[0];
		 var moveSlider=productBox.getElementsByClassName("move-slider")[0];
		 var midImg=productBox.getElementsByTagName("img")[0];
		 var smallImg=productBox.getElementsByTagName("li");
		 var bigImg=productBox.getElementsByClassName("bigImg")[0];

		  for(var i=0;i<smallImg.length;i  ){
            smallImg[i].onmouseover=function(){
                for(var j=0;j<smallImg.length;j  ){
                    smallImg[j].className='';
                }
                   this.className='on';
				   midImg.src=this.getAttribute('data-mid');
                   bigImg.src= this.getAttribute('data-big');
 
            }
          }

		 midBox.onmouseenter=function(){		 
		        moveSlider.style.display="block"; 
				    bigBox.style.display="block"; 
		 }
	     midBox.onmouseleave=function(){		 
		         moveSlider.style.display="none"; 
				     bigBox.style.display="none"; 
		 }
		 function pos(e){
		              var scrollTop=document.documentElement.scrollTop || document.body.scrollTop;
					  var scrollLeft=document.documentElement.scrollLeft  || document.body.scrollLeft;
					  return json={x:scrollLeft e.clientX,y:scrollTop e.clientY};
		 }
		  midBox.onmousemove=function(e){
			  var e=e || event;//事件源的兼容问题   
			  var midBox_top=midBox.offsetTop;
			  var midBox_left=midBox.offsetLeft;
		             var disX=pos(e).x-midBox_left;
			         var disY=pos(e).y-midBox_top;			 
			  var move_top=disY-moveSlider.offsetHeight/2;
			  var move_left=disX-moveSlider.offsetWidth/2;
			  var max_top=midBox.offsetHeight-moveSlider.offsetHeight;
			  var max_left=midBox.offsetWidth-moveSlider.offsetWidth;
			  var bigmax_top=bigImg.offsetHeight-bigBox.offsetHeight;
			  var bigmax_left=bigImg.offsetWidth-bigBox.offsetWidth;
			      move_top=move_top<=0 ? 0 : move_top;
				  move_top=move_top>=max_top ? max_top : move_top;
			      move_left=move_left<=0 ? 0 : move_left;
				  move_left=move_left>=max_left ? max_left : move_left;        
				  moveSlider.style.top=move_top 'px';
			      moveSlider.style.left=move_left 'px';
			  var scaleX=move_left/max_left;
			  var scaleY=move_top/max_top;
			  var bigimg_top=bigmax_top*scaleY;
			  var bigimg_left=bigmax_left*scaleX;
                   bigImg.style.top=-bigimg_top 'px';
				   bigImg.style.left=-bigimg_left 'px';
		 }
   }
  </script>
 </head>
 <body>
  <div id="product">
       <!--中图区域-->
       <div class="mid-box">
	          <img src="images/mid1.jpg" alt="" width="100%" height="100%">
	          <div class="move-slider"></div>
	   </div>
	   <!--小图区域-->
	   <div class="small-box">
	        <ul>
			   <li class="on" data-mid="images/mid1.jpg" data-big="images/big1.jpg">
			        <img src="images/small1.jpg" alt="" width="50" height="64">
			   </li>
			   <li data-mid="images/mid2.jpg" data-big="images/big2.jpg">
			        <img src="images/small2.jpg" alt="" width="50" height="64">
			   </li>
			   <li data-mid="images/mid3.jpg" data-big="images/big3.jpg">
			        <img src="images/small3.jpg" alt="" width="50" height="64">
			   </li>
			   <li data-mid="images/mid4.jpg" data-big="images/big4.jpg">
			       <img src="images/small4.jpg" alt="" width="50" height="64">
			   </li>
			   <li data-mid="images/mid5.jpg" data-big="images/big5.jpg">
			        <img src="images/small5.jpg" alt="" width="50" height="64">
			   </li>
			   <li data-mid="images/mid6.jpg" data-big="images/big6.jpg">
			        <img src="images/small6.jpg" alt="" width="50" height="64">
			   </li>
			</ul>
	   </div>
	   <!--大图区域-->
	   <div class="big-box">
	          <img class="bigImg" src="images/big1.jpg" alt="" width="800" height="1026">
	   </div>	  
  </div>
 </body>
</html>