所有源代码
<!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>
#box{
position:relative;
}
.small_pic{
width:360px;
height:500px;
}
.small_pic img{
width:100%;
height:100%;
}
.small_pic .slider{
width:180px;
height:250px;
position:absolute;
background:rgba(255,255,255,.3);
cursor:move;
display:none;
}
.big_pic{
position:absolute;
width:360px;
height:500px;
top:0;
left:370px;
overflow:hidden;
border:1px solid;
display:none;
}
.big_pic img{
position:absolute;
}
</style>
</head>
<body>
<div id="box">
<!--左侧-->
<div class="small_pic">
<!--滑块-->
<span class="slider"></span>
<!--图片-->
<img src="img/275564f1676186d59.jpg"/>
</div>
<!--右侧-->
<div class="big_pic">
<!--图片-->
<img src="img/275564f1676186d59.jpg" width="720" height="1000"/>
</div>
</div>
<script>
window.onload = function(){
var box = document.getElementById("box"); //box
var smallPic = document.getElementsByClassName("small_pic")[0]; //左侧小图片
var slider = document.getElementsByClassName("slider")[0]; //滑块
var bigPic = document.getElementsByClassName("big_pic")[0]; //右侧大图片
var bigImg = bigPic.getElementsByTagName('img')[0];
// 移出
smallPic.onmouseout = function(){
slider.style.display='none';
bigPic.style.display='none';
}
// 移入
smallPic.onmousemove = function(event){
slider.style.display='block';
bigPic.style.display='block';
//event.clientX 当前移入点与X轴的距离 slider.offsetWidth/2 滑块的宽度的一半
var left = event.clientX-slider.offsetWidth/2;
var top = event.clientY-slider.offsetHeight/2;
//最大移动范围
if(left < 0){
left = 0;
}else if(left > smallPic.offsetWidth - slider.offsetWidth){
left = smallPic.offsetWidth - slider.offsetWidth;
};
if(top < 0){
top = 0;
}else if(top > smallPic.offsetHeight - slider.offsetHeight){
top = smallPic.offsetHeight - slider.offsetHeight;
};
slider.style.left = left+'px';
slider.style.top = top+'px';
bigImg.style.left = -(left+left)+'px'
bigImg.style.top = -(top+top)+'px'
}
}
</script>
</body>
</html>
效果图: