<!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=gb2312" />
<title>无标题文档</title>
<style type="text/css">
<!--
#Layer1 {
position:absolute;
left:435px;
top:82px;
width:84px;
height:82px;
z-index:1;
background-color: #993300;
display:none;
}
body {
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
}
-->
</style>
</head>
<body>
<script language="javascript">
function objOffsetLeft(o)
{
var vLeft=0;
var vTop = 0;
var obj=o;
//循环的方法取得对象的绝对偏移
while(obj != null && obj !=document.body)
{
vLeft += obj.offsetLeft;
vTop += obj.offsetTop;
obj = obj.offsetParent;
}
document.all.Layer1.style.left = vLeft;
document.all.Layer1.style.top = vTop+o.offsetHeight;
document.all.Layer1.style.display = 'inline';
}
</script>
<div id="Layer1">dasfsafsafs</div>
<table width="40%" border="1" align="center" cellpadding="0" cellspacing="0" id="tba" >
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td bgcolor="#FF0000"><table width="100%" border="0" cellpadding="0" cellspacing="0" id="tb2" onmouseover="objOffsetLeft(this);" >
<tr>
<td> </td>
</tr>
</table></td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td bgcolor="#9999CC"><table width="100%" border="0" cellpadding="0" cellspacing="0" id="tb4" onclick="objOffsetLeft(this);" >
<tr>
<td> </td>
</tr>
</table></td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td bgcolor="#993300"><table width="100%" border="0" cellpadding="0" cellspacing="0" id="tb1" onclick="objOffsetLeft(this);" >
<tr>
<td> </td>
</tr>
</table></td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td bgcolor="#CC00FF"><table width="100%" border="0" cellpadding="0" cellspacing="0" id="tb3" onclick="objOffsetLeft(this);" >
<tr>
<td> </td>
</tr>
</table></td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td bgcolor="#CCFF00" onclick="objOffsetLeft(this);" > </td>
<td> </td>
</tr>
</table>
</body>
</html>
本文介绍了一种使用HTML和JavaScript实现元素布局的技巧,通过监听鼠标悬停和点击事件来改变元素的位置,实现了动态显示隐藏层的效果。文章详细展示了如何利用offsetLeft和offsetTop属性计算元素的绝对位置,并附带了完整的代码示例。
5162

被折叠的 条评论
为什么被折叠?



