js放大镜效果例子


只需要更改图片地址就可以实现放大镜效果


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>
<body>


<style type="text/css">
#div1 {
width: 304px;
height: 222px;
position: relative;
margin: 30px auto 0px;
}
#div1 img {
width: 304px;
height: 222px;
}
#div1 span {
width: 100px;
height: 100px;
background: red;
left: 0px;
top: 0px;
position: absolute;
display: none;
filter:alpha(opacity:20);
opacity: 0.2;
}
.show {
width: 100%;
height: 100%;
background: red;
position: absolute;
z-index: 10px;
filter:alpha(opacity:10);
opacity: 0.1;
left: 0px;
top: 0px;
}
#div2 {
width: 304px;
height: 222px;
position: relative;
display: none;
overflow: hidden;
margin: 0px auto 0px;
}
#img1 {
position: absolute;
}
</style>


<script type="text/javascript"> 
window.onload=function () 

var oDiv=document.getElementById('div1'); 
var oShow=oDiv.getElementsByTagName('div')[0]; 
var oSpan=oDiv.getElementsByTagName('span')[0]; 
var oImg=document.getElementById('img1'); 
oShow.onmouseover=function() 

oSpan.style.display='block'; 
oImg.parentNode.style.display='block'; 
}; 
oShow.onmouseout=function() 

oSpan.style.display='none'; 
oImg.parentNode.style.display='none'; 
}; 
oShow.onmousemove=function(ev) 

var oEvent=ev||event; 
var x=oEvent.clientX-oDiv.offsetLeft-oSpan.offsetWidth/2; 
var y=oEvent.clientY-oDiv.offsetTop-oSpan.offsetHeight/2; 

if(x<0) 

x=0; 

else if(x>oShow.offsetWidth-oSpan.offsetWidth) 

x=oShow.offsetWidth-oSpan.offsetWidth; 

if(y<0) 

y=0; 

else if(y>oShow.offsetHeight-oSpan.offsetHeight) 

y=oShow.offsetHeight-oSpan.offsetHeight 
}
oSpan.style.left=x+'px'; 
oSpan.style.top=y+'px'; 
var percentX=x/(oShow.offsetWidth-oSpan.offsetWidth); 
var percentY=y/(oShow.offsetHeight-oSpan.offsetHeight); 
var oImgparent=oImg.parentNode; 
oImg.style.left=-percentX*(oImg.offsetWidth-oImgparent.offsetWidth)+'px'; 
oImg.style.top=-percentY*(oImg.offsetHeight-oImgparent.offsetHeight)+'px'; 
}; 
}; 
</script>


<div id="div1">
  <img src="11_2_2.jpg" />
  <span></span>
  <div class="show"></div>
</div>


<div id="div2"> 
  <img id="img1" src="11_2_2.jpg" />
 </div>


</body>
</html>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值