使用js实现放大镜的效果

效果展示:


js文件:
window.onload = function() {
    var floatBox = document.getElementById("floatBox");
    var bigBox = document.getElementById("bigBox");
    var imgBox = document.getElementById("imgBox");
    var img1 = document.getElementById("img1");
    var img2 = document.getElementById("img2");
    var img3 = document.getElementById("img3");
    var img4 = document.getElementById("img4");
    var img5 = document.getElementById("img5");
    var img6 = document.getElementById("img6");
    var smallBox = document.getElementById("smallBox");
    var icon1= document.getElementById("icon1");
    var icon2= document.getElementById("icon2");
    var icon3= document.getElementById("icon3");
    var icon4= document.getElementById("icon4");
    var icon5= document.getElementById("icon5");
    img2.onmouseover = function(){
        var value=img2.alt;
        img1.src="img/衣"+value+value+".jpg";
    };
    img3.onmouseover = function(){
        var value=img3.alt;
        img1.src="img/衣"+value+value+".jpg";
    };
    img4.onmouseover = function(){
        var value=img4.alt;
        img1.src="img/衣"+value+value+".jpg";
    };
    img5.onmouseover = function(){
        var value=img5.alt;
        img1.src="img/衣"+value+value+".jpg";
    };
    img6.onmouseover = function(){
        var value=img6.alt;
        img1.src="img/衣"+value+value+".jpg";
    };
    smallBox.onmouseover = function(){
        imgBox.src=img1.src;
        floatBox.style.display = "block";
        bigBox.style.display = "block";
    }
    smallBox.onmouseout = function(){
        floatBox.style.display = "none";
        bigBox.style.display = "none";
    }
    smallBox.onmousemove = function(e){
        var event = e || window.event;
        var left = event.clientX-smallBox.offsetLeft-floatBox.offsetWidth/2;
        var top = event.clientY-smallBox.offsetTop-floatBox.offsetHeight/2;
        smallBox.offsetWidth - floatBox.offsetWidth;
       if(left<0) left=0;
        else {if(left>(smallBox.offsetWidth - floatBox.offsetWidth))
         left = smallBox.offsetWidth - floatBox.offsetWidth;}
        if(top<0) top=0;
        else {if(top>(smallBox.offsetHeight-floatBox.offsetHeight))
            top = smallBox.offsetHeight-floatBox.offsetHeight;}
            floatBox.style.left= left + "px";
            floatBox.style.top= top + "px";
            imgBox.style.left = -(left * imgBox.offsetWidth)/smallBox.offsetWidth + "px";
            imgBox.style.top = -(top * imgBox.offsetHeight)/smallBox.offsetHeight + "px";
        }
    }

css文件

#floatBox{
    width: 100px;
    height: 100px;
    display: none;
    opacity: 0.7;
    background: #CAFF70;
    border: 1px #FF0000;
    position: absolute;
    margin: 0px;
    z-index: 1;
}
#smallBox{
    width: 400px;
    height: 400px;
    left: 50px;
    top: 50px;
    display: block;
    background:#FFFF00;
    border: 1px #FF0000;
    position: absolute;
}
#img1{
    width: 400px;
    height: 400px;
    left: 0px;
    top: 0px;
    display: block;
    background:#FFFF00;
    border: 1px #FF0000;
    position: absolute;
}
#bigBox{
    width: 400px;
    height: 400px;
    left: 460px;
    top: 50px;
    overflow: hidden;
    display: none;
    background:#FF0000;
    border: 1px #FF0000;
    position: absolute;
}
#imgBox{
    width: 1600px;
    height: 1600px;
    position: absolute;
}
#img2{
    width: 50px;
    height:50px;
    border: 1px;
    left: 65px;
    top: 470px;
    border: 1px #FFFFFF;
    position: absolute;
}
#img3{
    width: 50px;
    height:50px;
    border: 1px;
    left: 145px;
    top: 470px;
    position: absolute;
}

#img4{
    width: 50px;
    height:50px;
    border: 2px;
    left: 225px;
    top: 470px;
    position: absolute;
}

#img5{
    width: 50px;
    height:50px;
    border: 2px;
    left: 305px;
    top: 470px;
    position: absolute;
}
#img6{
    width: 50px;
    height:50px;
    border: 1px;
    left: 385px;
    top: 470px;
    position: absolute;
}

html文件

<!DOCTYPE html>
<html>
<head>
    <title>界面的展示</title>
    <meta charset="utf-8"/>
    <link href="衣服V1.2.css" type="text/css" rel="stylesheet"/>
<script type="text/javascript" src="衣服1.2.js">
    </script>
</head>
<body>
<div id="smallBox">
    <div id="floatBox"></div>
    <img src="img/衣11.jpg" id="img1">
</div>
<div id="bigBox"><img src="img/衣11.jpg" id="imgBox"></div>
<div id="icon">
    <div id="icon1"><img src="img/衣1.jpg" id="img2" alt="1"></div>
    <div id="icon2"><img src="img/衣2.jpg" id="img3" alt="2"></div>
    <div id="icon3"><img src="img/衣3.jpg" id="img4" alt="3"></div>
    <div id="icon4"><img src="img/衣4.jpg" id="img5" alt="4"></div>
    <div id="icon5"><img src="img/衣5.jpg" id="img6" alt="5"></div>
</div>

</body>
</html>

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值