图片查看器
实现原理:动态的绑定每个缩略图的onmouseover事件,在方法中显示图片展示层。给document绑定onclick,通过判断事件的坐标,来决定是否隐藏图片展示层,代码如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title> 图片查看器 </title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<!-- 设置缩略图的样式 -->
<style type="text/css">
td>img
{
width:150px;
height:150px;
border:1px solid blue;
}
div>img
{
width:700px;
height:600px;
}
</style>
<!-- 缩略图的JS事件 -->
<script type="text/javascript">
<!--
function userLoad()
{
var imgs = document.getElementsByTagName('img'); //缩略图
var imgdis = document.getElementsByTagName('imgdis'); //大图
var oBody = document.body;//body
//给缩略图绑定单击、光标进入以及离开的事件
for (var i = 0; i < imgs.length ; i++ )
{
var simg = imgs[i];
//单击缩略图
simg.onclick = function(event)
{
event = event || window.event;
//document.getElementById("imgdis").innerHTML = "<img src='"+this.src+"'>";
//document.getElementById("imgdis").style.display = "block";
try
{
event.cancelBubble = true;
}
catch (e)
{
event.stopPropagation();
}
}
//光标离开缩略图上
simg.onmouseout = function()
{
this.style.border = '1px solid blue';
}
//光标移到缩略图上
simg.onmouseover = function()
{
this.style.border = '2px solid red';
document.getElementById("imgdis").innerHTML = "<img src='"+this.src+"'>";
document.getElementById("imgdis").style.display = "block";
}
}
//给大图绑定点击事件
imgdis.onclick = function(event)
{
event = event || window.event;
try
{
event.cancelBubble = true;
}
catch (e)
{
event.stopPropagation();
}
}
//body的单击事件
document.onclick = function(event)
{
event = event || window.event;
var imgdis = document.getElementById("imgdis");
var pleft = parseInt(imgdis.style.left.replace('px',''));
var ptop = parseInt(imgdis.style.top.replace('px',''));
var pwidth = parseInt(imgdis.style.width.replace('px',''));
var pheight = parseInt(imgdis.style.height.replace('px',''));
if (event.screenX < pleft || event.screenX > (pleft+pwidth) || event.screenY < ptop || event.screenY > (ptop+pheight))
{
imgdis.style.display = "none";
}
}
}
//-->
</script>
</head>
<body οnlοad="userLoad()">
<table>
<tr>
<td><img src="1.jpg" alt="1"></td>
<td><img src="2.jpg" alt="2"></td>
<td><img src="3.jpg" alt="3"></td>
<td><img src="4.jpg" alt="4"></td>
<td><img src="5.jpg" alt="5"></td>
<td><img src="6.jpg" alt="6"></td>
<td><img src="7.jpg" alt="7"></td>
<td><img src="8.jpg" alt="8"></td>
</tr>
</table>
<div id="imgdis" style="border:2px solid black;width:700px;height:600px;position:absolute;top:80px;left:300px;display:none;z-index:2;"></div>
</body>
</html>