JS淘宝放大镜源代码

 CSS部分

	<style>
			.wrapper{
				margin: 0 auto;
				width: 1000px;
				display: flex;
			}
			.big{
				position: relative;
				width: 430px;
				height: 430px;
				overflow: hidden;
				display: block;
			}
			.little{
				position: relative;
				width: 430px;
				height: 430px;
			}
			.big img{ 
				width: 860px;
				position: absolute;
				left: 0;
				top: 0;
			}
			.mark{
				position: absolute;
				top: 0;
				left: 0;
				width: 215px;
				height: 215px;
				background-color: gray;
				opacity: .3;
				display: none;
			}
		</style>

HTML部分

		<div class="wrapper">
			
			<div class="little">
				<img src="../IMGS/商品页/22.jpg" alt="">
				<div class="mark"></div>
			</div>
			
				<div class="big">
					<img src="../IMGS/商品页/22.jpg" alt="">
			
			</div>
			
		</div>
<script>
                //获取元素
			var _little=document.querySelector(".little")
			var _mark=document.querySelector(".mark")
			var _big=document.querySelector(".big")
			var _img=document.querySelector(".big img"); //大图
			_little.onmouseover=function(){
				_big.style.display="block"
				_mark.style.display="block"
			}
			    //给小图添加事件
			_little.onmousemove=function(event){
			        //获取图片的位置
				 var dx=event.clientX-_little.offsetLeft-_mark.offsetWidth/2
				 var dy=event.clientY-_little.offsetTop-_mark.offsetHeight/2
				 
			
				 //设置边界
				 if(dx>_little.offsetWidth-_mark.offsetWidth){
					 dx=_little.offsetWidth-_mark.offsetWidth;
				 }
				 if(dx<=0){
					 dx=0;
				 }
				 	 _mark.style.left=dx+"px";
				 if(dy>_little.offsetHeight-_mark.offsetHeight){
				 		 dy=_little.offsetHeight-_mark.offsetHeight;
				 }
				 if(dy<=0){
				 		 dy=0;
				 }
				 _mark.style.top=dy+"px";
				 //大图*2
				 _img.style.left=dx*-2+"px"
				 _img.style.top=dy*-2+"px"
				
			}
		</script>

JS部分

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值