现在的位置: 首页 > 综合 > 正文

仿淘宝的图片放大镜

2013年08月23日 ⁄ 综合 ⁄ 共 1312字 ⁄ 字号 评论关闭

上班无聊  写了个简单的仿淘宝图片放大镜的问题
  以后再碰到这类问题 直接复制好了
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});
    });
});

抱歉!评论已关闭.