<html>
<head>
<title>区域树形结构</title>
<script type="text/javascript">

 //var test = new Array();
 //test=data; 
 
d = new dTree('d');
    d.add(0,-1,'区域信息');
    d.config.useCookies=false;
     
    var icon;
var iconOpen;
var iconEmpty=d.icon.empty;
var parentslitid;
icon = d.icon.folder;
iconOpen = d.icon.folderOpen;
function submenu(parentid)
     {
     parentslitid = "s"+parentid;
     //
    //展开  显示:正在加载...
    //var n = d.getElementIndex("s"+parentid);
    var n = d.getElementIndex(parentslitid);
    d.o(n);
    //加载Room
    Area.addRoom(parentid,callBack);
}
function callBack(data)
{
var arrid =[];
var arrnodeid =[];
var e;
for(var i=0;i<data.length;i++)

e = data[i];
d.add(e.fldinodeid,e.fldiparentid,e.fldifuncname,e.fldsurl,null,'_blank');
//d.add(e.fldinodeid,e.fldiparentid,e.fldifuncname,e.fldsurl);
}

//alert("parentslitid=="+parentslitid);
if(parentslitid!=0)
{    
    var isfind1;
    var isfind2;
    for (var n = 0; n < d.aNodes.length; n++) {
    //修改双击时的事件为o() 不再去数据库中读取
    if (d.aNodes[n].pid == parentslitid && d.aNodes[n].id == 'temp') {
d.aNodes[n].pid= -2 ;
isfind1= true;
}

//不再显示自动加载
if (d.aNodes[n].id == parentslitid){ 
d.aNodes[n].url="javascript: d.o(" + n + ")";
isfind2= true;
}
if(isfind1&&isfind2)
break;

}

    }
   
//保存原来所有还未加载的节点
    for (var n = 0; n < d.aNodes.length; n++) 
    {
    if(d.aNodes[n].id=='temp' &&d.aNodes[n].pid!=-2)
    {
arrnodeid.push(d.aNodes[n].pid.substring(1,d.aNodes[n].pid.length));
    arrid.push(d.getElementIndex(d.aNodes[n].pid));
       }
    }
//alert(document.getElementById("divtree"));
    $("divtree").innerHTML = d;
    //document.getElementById("divtree").innerHTML=d;
    //修改点击+时的事件为submenu 去数据库中读取
    for(var n = 0 ;n<arrid.length;n++)
    {
    if(d.getElementIndex(d.aNodes[arrid[n]].pid)!=-1)
    {
var eJoin = document.getElementById("jd" + arrid[n]);
eJoin.parentNode.href='javascript:submenu(\'' +arrnodeid[n] + '\')';
}
} }
</script>
</head>
<body onload="callBackTest()">
<form action="area.do?dispatch=delete" method="post">
<table align="center" style=" width:70%;border-color: #6699cc">
<tr>
<th>
区域维护
</th>
<td align="right">
<input class="btn" type="button" value="列表"
onclick="javascript:window.location.href='createPage.do?dispatch=listPage&subclass=2201001'">
<input class="btn" type="button" value="增加"
onclick="javascript:window.location.href='createPage.do?dispatch=addPage&subclass=2201001'">
<input class="btn" type="button" value="修改"
onclick="checkForModify('id','createPage.do?dispatch=editPage&subclass=2201001');">
<input class="btn" type="submit" value="删除"
onclick="return checkForDelete('id','area.do?dispatch=delete');">
</td> </tr>
<tr>
<th valign="middle">
区域信息
</th>
<td>
<div class="dtree" id="divtree"
style=" left:0px; top:10px; width:200px; z-index:2;">
</div>
</td>
</table>
</form>
</body>
</html>
这个是一个树的子节点,当点这个子节点的时候调用submenu(parentid)函数, IE会弹出一个提示说:该页上的脚本造成Internet Explorer 运行速度减慢.如果继续运行,您的计算机将变的更慢.是否取消该脚本? 我点是的时候前台页面出现Object  我点否的时候正常出现结果.
是不是那里优化不好呀,不是死循环造成的.数据库里的数据变多了.我个人测试了 感觉是这句话$("divtree").innerHTML = d;影响的,有高人指定下咋解决 ,具体点.老弟我先谢谢了