要求:
通过点击菜单控制列表是否显示,且每次只能显示一个列表;
显示效果:
<html>
<head>
<script type="text/javascript">
function list() {
//获取事件源对象
var aNode = event.srcElement;
//获取父节点
var tdNode = aNode.parentNode;
//获取div节点
var divNode = tdNode.getElementsByTagName("div")[0];
//获取table节点
var tableNode = document.getElementsByTagName("table")[0];
//获取所有的div节点
var divNodes = tableNode.getElementsByTagName("div");
//控制一次只显示一个列表
for (var x = 0; x < divNodes.length; x++) {
//判断当前节点的状态
if (divNodes[x] == divNode) {
//控制菜单列表是否显示
if (divNode.className == "open") {
divNode.className = "close";
} else {
divNode.className = "open";
}
}else{
divNodes[x].className="close";
}
}
}
</script>
<style type="text/css">
table {
border: blue 1px solid;
}
table td {
border: blue 1px solid;
background-color: yellow;
}
table td div {
background-color: #87CEFA;
display: none;
}
table td a:link, table td a:visited {
text-decoration: none;
color: blue;
}
.open {
display: block;
}
.close {
display: none;
}
</style>
</head>
<body>
<table>
<tr>
<td><a href="javascript:void(0)" οnclick="list()">好友菜单列表</a>
<div>
张三<br /> 李四<br /> 赵倩<br /> 孙李<br />
</div></td>
</tr>
<tr>
<td><a href="javascript:void(0)" οnclick="list()">好友菜单列表</a>
<div>
张三<br /> 李四<br /> 赵倩<br /> 孙李<br />
</div></td>
</tr>
<tr>
<td><a href="javascript:void(0)" οnclick="list()">好友菜单列表</a>
<div>
张三<br /> 李四<br /> 赵倩<br /> 孙李<br />
</div></td>
</tr>
</table>
</body>
</html>