上班无聊 写了个简单的仿淘宝图片放大镜的问题
以后再碰到这类问题 直接复制好了
html代码:
CSS代码:
JQ代码:
以后再碰到这类问题 直接复制好了
html代码:
<body>
<div class="all">
<div class="big">
<img src="images/00001.jpg" width="160px;" height="160px" />
<div class="small"></div>
<div class="show"></div>
</div>
</div>
</body>
CSS代码:
*{
padding:0px;
margin:0px;
border:0px;}
.all{
margin:0 auto;
width:960px;
}
.big{
float:left;
width:160px;
height:160px;
border:2px solid #CCC;
padding:3px;
margin-top:100px;}
.big .small{
width:50px;
height:50px;
position:absolute;
top:0px;
left:300px;
background:#CFF;
opacity:0.75;
display:none;}
.big .show{
width:275px;
height:150px;
padding:3px;
position:absolute;
top:100px;
left:500px;
display:none;
background:url(../images/00001.jpg) no-repeat left top;
border:1px solid #666;}
JQ代码:
var topset=0;
var leftset=0;
$(document).ready(function(e) {
$(".big").mouseleave(function(){
$(".small").css({"top":LTY,"left":LTX,"display":"none"});
$(".show").css("display","none");
}).mousemove(function(e){
topset=$(this).offset().top;
leftset=$(this).offset().left;
if(e.pageX<185)
LTX=160;
else if(e.pageX>301)
LTX=276;
else
LTX=e.pageX-25;
if(e.pageY<125)
LTY=100;
else if(e.pageY>241)
LTY=221;
else
LTY=e.pageY-25;
$(".small").css({"top":LTY,"left":LTX,"display":"block"});
position_x="-"+Math.round((LTX-160)/160*550)+"px";
position_y="-"+Math.round((LTY-100)/160*375)+"px";
pl=position_x+" "+position_y;
$(".show").css({"display":"block","background-position":pl});
});
});