ASP网站管理后台左边树状菜单部分。在IE中看不到子节点,提示:'KB16Child'未定义
admin_left.asp                            行:54
代码:0                                字符:125但是在火狐中可以看到完整的树状菜单。大家帮看该页面中的JS到底哪里有问题?
admin_left.asp
<!-- #include file="Conn.asp"-->
<!-- #include file="Chk_Session.asp"-->
<%
dim Qtable,infors,Qinfo   'Qtable是对应的数据表;Qinfo是在任务栏显示的文字
Qtable="Qconfig"
set infors=conn.execute("select top 1 Qinfo from "&Qtable&" order by id desc")
    Qinfo=infors("Qinfo")
infors.close:set infors=nothing
%>
<html>
<head>
<link rel="stylesheet" href="../STYLE.CSS" type="text/css">
<style type="text/css">
<!--
body { 
scrollbar-face-color: #EEEEEE;
scrollbar-highlight-color: #FFFFFF;
scrollbar-shadow-color: #DEE3E7;
scrollbar-3dlight-color: #D1D7DC;
scrollbar-arrow-color:  #007db5;
scrollbar-track-color: #ededed;
scrollbar-darkshadow-color: #00659c; }
-->
</style>
<base target="main">
<base onmouseover="window.status='<%=Qinfo%>';return true">
<script>
function cf()
{
  parent.menu.cols="0,2,*";
  return false;
}
</script>
<script language="JavaScript1.2">
scores = new Array(20);
var numTotal=0;
NS4 = (document.layers) ? 1 : 0;
IE4 = (document.all) ? 1 : 0;
ver4 = (NS4 || IE4) ? 1 : 0;if (ver4) {    with (document) {        write("<STYLE TYPE='text/css'>");        if (NS4) {            write(".parent {position:absolute; visibility:visible}");            write(".child {position:absolute; visibility:visible}");            write(".regular {position:absolute; visibility:visible}")        }        else {            write(".child {display:none}")        }        write("</STYLE>");    }}function getIndex(el) {    ind = null;    for (i=0; i<document.layers.length; i++) {        whichEl = document.layers[i];        if (whichEl.id == el) {            ind = i;            break;        }    }    return ind;}function arrange() {    nextY = document.layers[firstInd].pageY +document.layers[firstInd].document.height;    for (i=firstInd+1; i<document.layers.length; i++) {        whichEl = document.layers[i];        if (whichEl.visibility != "hide") {            whichEl.pageY = nextY;            nextY += whichEl.document.height;        }    }}function initIt(){    if (!ver4) return;    if (NS4) {        for (i=0; i<document.layers.length; i++) {            whichEl = document.layers[i];            if (whichEl.id.indexOf("Child") != -1) whichEl.visibility = "hide";       }        arrange();    }    else {        divColl = document.all.tags("DIV");        for (i=0; i<divColl.length; i++) {            whichEl = divColl(i);            if (whichEl.className == "child") whichEl.style.display = "none";        }    }}function expandIt(el) { if (!ver4) return;    if (IE4) {        whichEl1 = eval(el + "Child"); for(i=1;i<=numTotal;i++){ whichEl = eval(scores[i] + "Child"); if(whichEl!=whichEl1) { whichEl.style.display = "none"; } }        whichEl1 = eval(el + "Child");        if (whichEl1.style.display == "none") {            whichEl1.style.display = "block";        }        else {            whichEl1.style.display = "none";        }    }    else {        whichEl = eval("document." + el + "Child"); for(i=1;i<=numTotal;i++){ whichEl = eval("document." + scores[i] + "Child"); if(whichEl!=whichEl1) { whichEl.visibility = "hide"; } }        if (whichEl.visibility == "hide") {            whichEl.visibility = "show";        }        else {            whichEl.visibility = "hide";        }        arrange();    }}onload = initIt;</script>
</head>
<body bgcolor="#B4C8E4">
<table border="0" height="100%" align="left" cellpadding="0" cellspacing="0" width="144">
<tr>
    <td background="images/list.gif" height="19" width="144" style="padding-left:43px"> 
      管理菜单   &nbsp;<img src="images/b_c.gif" width="12" height="11" name="b_close" onMouseOut="document.b_close.src='images/b_c.gif'" onMouseOver="document.b_close.src='images/b_c_o.gif'" onMouseDown="document.b_close.src='images/b_c_d.gif'" onClick="cf()">
    </td>
</tr>
<tr>
<td width="135" valign="top" bgcolor="#FFFFFF" style="padding-top:2pt;padding-left:7pt">
<%
dim blbrs,strsql,intI,intJ,blb,slbrs,sqlstr,slb,urlname,recsum,tmpj
'urlname是slb对应的链接URL地址
set blbrs=server.CreateObject("adodb.recordset")
    strsql="select blb from Qblb order by id Asc"
    blbrs.open strsql,conn,1,3
if not blbrs.eof then
recsum=blbrs.recordcount
    for intI = 1 to recsum
    blb=blbrs("blb") %>
<div id='KB<%=intI%>Parent' class='parent'>
 <IMG SRC='images/t_o.gif' BORDER=0 width="30" height="16" alt="<%=blb%>管理">
 <a href="javascript:;" onClick="expandIt('KB<%=intI%>'); return false" title="<%=blb%>管理"> <%=blb%></a>
</div>
<%
   set slbrs=server.CreateObject("adodb.recordset")
       sqlstr="select * from Qlb where blb='"&blb&"' order by id Asc "
       slbrs.open sqlstr,conn,1,3
   if not slbrs.eof then
%>
<div id="KB<%=intI%>Child" class="child"  style="width:135;"> 
<%
       do while not slbrs.eof
          slb=slbrs("slb")
      urlname=slbrs("urlname")
  if urlname="" or isnull(urlname) then
     urlname="admin_news.asp?blb="&blb&"&lb="&slb
  else
     urlname=urlname
  end if
%>   
   <IMG SRC='images/t_f.gif' BORDER=0 width="43" height="15">
   <a href="<%=urlname%>" title="<%=slb%>信息管理"> <%=slb%></a><br>
<% 
      slbrs.movenext
      loop
  end if
      slbrs.close
  set slbrs=nothing 
%>
  </div>
<% 
 blbrs.movenext
 next
 end if
 blbrs.close
 set blbrs=nothing
%>
  <div id='KB<%=cint(recsum)+1%>Parent' class='parent'> <IMG SRC='images/t_o.gif' BORDER=0 width="30" height="16" alt="网站管理"><a href="#" onClick="expandIt('KB<%=cint(recsum)+1%>');return false" title="网站管理"> 
        网站管理</a> </div>
  <div id='KB<%=cint(recsum)+1%>Child' class='child' style="width: 135;height:25"><IMG SRC='images/t_f.gif' BORDER=0 width="43" height="16" alt="用户管理"><a href="admin_user.asp" title="用户管理"> 
        用户管理</a></div>
</td>
</tr>
<tr><td height="15"></td></tr>
</table>
<%
response.write "<SCRIPT>"
tmpj=recsum+1
response.write "numTotal="&tmpj&";"
for intJ=1 to tmpj
response.write "scores["&intJ&"]='KB"&intJ&"';"
next
response.write "</SCRIPT> "
%>
</body>
</html>

解决方案 »

  1.   

    真奇怪,我明明用的全选,怎么会少贴一段代码呢:第二段JS代码<script language="JavaScript1.2">
    scores = new Array(20);
    var numTotal=0;
    NS4 = (document.layers) ? 1 : 0;
    IE4 = (document.all) ? 1 : 0;
    ver4 = (NS4 || IE4) ? 1 : 0;if (ver4) {    with (document) {        write("<STYLE TYPE='text/css'>");        if (NS4) {            write(".parent {position:absolute; visibility:visible}");            write(".child {position:absolute; visibility:visible}");            write(".regular {position:absolute; visibility:visible}")        }        else {            write(".child {display:none}")        }        write("</STYLE>");    }}function getIndex(el) {    ind = null;    for (i=0; i<document.layers.length; i++) {        whichEl = document.layers[i];        if (whichEl.id == el) {            ind = i;            break;        }    }    return ind;}function arrange() {    nextY = document.layers[firstInd].pageY +document.layers[firstInd].document.height;    for (i=firstInd+1; i<document.layers.length; i++) {        whichEl = document.layers[i];        if (whichEl.visibility != "hide") {            whichEl.pageY = nextY;            nextY += whichEl.document.height;        }    }}function initIt(){    if (!ver4) return;    if (NS4) {        for (i=0; i<document.layers.length; i++) {            whichEl = document.layers[i];            if (whichEl.id.indexOf("Child") != -1) whichEl.visibility = "hide";       }        arrange();    }    else {        divColl = document.all.tags("DIV");        for (i=0; i<divColl.length; i++) {            whichEl = divColl(i);            if (whichEl.className == "child") whichEl.style.display = "none";        }    }}function expandIt(el) { if (!ver4) return;    if (IE4) {        whichEl1 = eval(el + "Child"); for(i=1;i<=numTotal;i++){ whichEl = eval(scores[i] + "Child"); if(whichEl!=whichEl1) { whichEl.style.display = "none"; } }        whichEl1 = eval(el + "Child");        if (whichEl1.style.display == "none") {            whichEl1.style.display = "block";        }        else {            whichEl1.style.display = "none";        }    }    else {        whichEl = eval("document." + el + "Child"); for(i=1;i<=numTotal;i++){ whichEl = eval("document." + scores[i] + "Child"); if(whichEl!=whichEl1) { whichEl.visibility = "hide"; } }        if (whichEl.visibility == "hide") {            whichEl.visibility = "show";        }        else {            whichEl.visibility = "hide";        }        arrange();    }}onload = initIt;</script>
      

  2.   

     document.layers用 document.getElementByTagName 代替whichEl1 = eval(el + "Child"); 用 document.getelementById 代替