JS树"造成该页上的脚本造成Internet Explorer 运行速度减慢.如果继续运行,您的计算机将变的更慢.是否取消该脚本?"问题:高手请进

taofan911 2009-10-10 12:25:09

<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;影响的,有高人指定下咋解决 ,具体点.老弟我先谢谢了
...全文
1806 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
taofan911 2009-10-10
  • 打赏
  • 举报
回复
Area.addRoom(parentid,callBack);
DWR 请求servlet返回一些数据
natineprince 2009-10-10
  • 打赏
  • 举报
回复
Area是啥?
natineprince 2009-10-10
  • 打赏
  • 举报
回复
试试注释那几个for循环.先找出哪里出问题吧...

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧