xiejixing
<!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>
<style type="text/css">
#box{
    top:100px;
    left:50px;
    position:absolute;
}

#zoom{    
    position:absolute;
    overflow:hidden;
    width:0px;
    height:0px;
    top:0px;
    left:0px;
    border-style:solid;
}
</style>
</head>
<body>
<h1 align="center">建议使用火狐或者谷歌浏览器查看本页,放大镜特效将获得完美体现</h1>
<div id="box" onMouseMove="move(event)">
<div>
<img id="simg" width="900" height="1200" />
</div>

<div id="zoom">
<img id="dimg" width="400" height="400" style="position:relative;" />
</div>
</div>

<script language="javascript">
var url = \'1.jpg\';//图片地址

var fw = 400;//放大镜宽度
var fh = 400;//放大镜高度

var sw = 900;//缩略图宽度
var sh = 1200;//缩略图高度

var dw = 1800;//原图宽度,必须设置
var dh = 2400;//原图高度,必须设置

var did=\'box\';//div的ID
var zid=\'zoom\';//放大镜的ID
var simg=\'simg\';//小图的ID
var dimg=\'dimg\';//大图的ID

//初始数据
window.onload=function(){    
    document.getElementById(zid).style.width=fw+\'px\';
    document.getElementById(zid).style.height=fh+\'px\';
    
    document.getElementById(simg).style.width=sw+\'px\';
    document.getElementById(simg).style.height=sh+\'px\';
    document.getElementById(simg).src=url;
    
    document.getElementById(dimg).style.width=dw+\'px\';
    document.getElementById(dimg).style.height=dh+\'px\';
    document.getElementById(dimg).src=url;
}

//鼠标移动事件
function move(event){
    var obj = document.getElementById(did);
    var oleft=obj.offsetLeft;
    while(obj=obj.offsetParent){    
        oleft+=obj.offsetLeft; //滚动条长度
    }

    var obj = document.getElementById(did);
    var otop=obj.offsetTop;
    while(obj=obj.offsetParent){    
        otop+=obj.offsetTop;  //滚动条长度
    }
    
    //鼠标相对坐标
    var mleft = (event.clientX-oleft+document.body.scrollLeft+document.documentElement.scrollLeft)-2;    
    var mtop = (event.clientY-otop+document.body.scrollTop+document.documentElement.scrollTop)-2;
    
    if(mleft>=0 && mleft<=sw && mtop>=0 && mtop<=sh){
        //移动放大镜
        document.getElementById(zid).style.left=mleft-fw/2+\'px\';
        document.getElementById(zid).style.top=mtop-fh/2+\'px\';
        //改变放大镜显示
        document.getElementById(dimg).style.left=-mleft/sw*dw+fw/2+\'px\';
        document.getElementById(dimg).style.top=-mtop/sh*dh+fh/2+\'px\';
    }
}
</script>

</body>
</html>

使用前请设置

1.图片地址

2.原图宽高

3.缩略图宽高

分类:

技术点:

相关文章:

  • 2021-05-05
  • 2021-07-03
  • 2022-01-23
  • 2021-10-31
猜你喜欢
  • 2021-12-03
  • 2021-11-07
  • 2021-12-03
  • 2021-12-03
  • 2021-12-03
  • 2021-12-03
  • 2021-12-03
相关资源
相似解决方案