如下是一个点击逐级展开的4层目录树效果,目录树中的数据从一个非常大的相同结构的xml文件中获取,当打开页面时,获取对应的前两层数据,当鼠标点击一个列表项,再实时获取这个列表项下两层(就是下下层,因为下一层开始时已获取)的数据。
----------------------
出自http://bbs.blueidea.com/viewthread.php?tid=2676250
========================
<!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" />
<style type="text/css">
ul{
font-size:12px;
}
li{
cursor:pointer;
}
</style>
<title>分类显示</title>
</head>
<body>
<div>
<div>
<div>
<ul id="layerUnspsc1">
<li>第1层节点
<ul>
<li>第2层节点
<ul>
<li>第3层节点
<ul>
<li>第4层节点</li>
<li>第4层节点</li>
</ul>
</li>
<li>第3层节点
<ul>
<li>第4层节点</li>
<li>第4层节点</li>
</ul>
</li>
</ul>
</li>
<li>第2层节点
<ul>
<li>第3层节点
<ul>
<li>第4层节点</li>
<li>第4层节点</li>
</ul>
</li>
<li>第3层节点
<ul>
<li>第4层节点</li>
<li>第4层节点</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>第1层节点
<ul>
<li>第2层节点
<ul>
<li>第3层节点
<ul>
<li>第4层节点</li>
<li>第4层节点</li>
</ul>
</li>
<li>第3层节点
<ul>
<li>第4层节点</li>
<li>第4层节点</li>
</ul>
</li>
</ul>
</li>
<li>第2层节点
<ul>
<li>第3层节点
<ul>
<li>第4层节点</li>
<li>第4层节点</li>
</ul>
</li>
<li>第3层节点
<ul>
<li>第4层节点</li>
<li>第4层节点</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
</div>
<script type="text/javascript">
var layerUnspsc1=document.getElementById("layerUnspsc1");
var layerUnspsc1_li=layerUnspsc1.getElementsByTagName("li");
for(var i=0;i<layerUnspsc1_li.length;i++){
for(var j=0;j<layerUnspsc1_li[i].childNodes.length;j++){
var ul=layerUnspsc1_li[i].childNodes[j];
if(ul.nodeName=="UL"){
ul.style.display="none";
}
}
}
layerUnspsc1.οnclick=function(nav){
var li=(document.all)?event.srcElement:nav.target;
if(li.nodeName=="LI"){
for(var a=0;a<li.childNodes.length;a++){
var ul=li.childNodes[a];
if(ul.nodeName=="UL"){
ul.style.display=(ul.style.display=="none")?"":"none";
}
}
}
}
</script>
</body>
</html>