树型菜单-用JS编写

发表于:2007-06-30来源:作者:点击数: 标签:
这个树型菜单的代码简单一点。 script language= Java Script 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 {po
这个树型菜单的代码简单一点。
<script language="JavaScript">
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) {
whichEl = eval(el + "Child");
if (whichEl.style.display == "none") {
whichEl.style.display = "block";
}
else {
whichEl.style.display = "none";
}
}
else {
whichEl = eval("document." + el + "Child");
if (whichEl.visibility == "hide") {
whichEl.visibility = "show";
}
else {
whichEl.visibility = "hide";
}
arrange();
}
}
onload = initIt;
</script>
</font></p>
<div id="KB1Parent" class="parent">    <a href="#" onClick="expandIt(@#KB1@#); return false" ><img

src="img/plus.gif" border=0>文件夹一</a></div>
<div id="KB1Child" class="child">     <a href="sample.htm" target="_blank" ><img

src="img/spacer.gif" border=0 alt=""><img src="img/open.gif" border=0>页面一</a><br>
     <a href="sample.htm" target="_blank" ><img src="img/spacer.gif" border=0 alt="" width="15"

height="11"><img src="img/open.gif" border=0>页面二</a><br>
     <a href="sample.htm" target="_blank" ><img src="img/spacer.gif" border=0 alt="" width="15"

height="11"><img src="img/open.gif" border=0>页面三</a></div>
<div id="KB2Parent" class="parent">    <a href="#" onClick="expandIt(@#KB2@#); return false" ><img

src="img/plus.gif" border=0>文件夹二</a></div>
<div id="KB2Child" class="child">     <a href="sample.htm" target="_blank" ><img

src="img/spacer.gif" border=0 alt="" width="15" height="11"><img src="img/open.gif" border=0>页面一</a><br>
     <a href="sample.htm" target="_blank" ><img src="img/spacer.gif" border=0 alt=""><img

src="img/open.gif" border=0>页面二</a><br>
     <a href="sample.htm" target="_blank" ><img src="img/spacer.gif" border=0 alt="" width="15"

height="11"><img src="img/open.gif" border=0>页面三</a></div>
<div id="KB3Parent" class="parent">    <a href="#" onClick="expandIt(@#KB3@#); return false" ><img

src="img/plus.gif" border=0>文件夹三</a></div>
<div id="KB3Child" class="child">      <a href="sample.htm" target="_blank" ><img

src="img/spacer.gif" border=0 alt=""><img src="img/open.gif" border=0>页面一</a><br>
      <a href="sample.htm" target="_blank" ><img src="img/open.gif" border=0>页面二</a><br>
     <a href="sample.htm" target="_blank" ><img src="img/spacer.gif" border=0 alt=""><img

src="img/open.gif" border=0>页面三</a></div>
<script language="JavaScript">
if (NS4) {
firstEl = "KB1Parent";
firstInd = getIndex(firstEl);
arrange();
}
</script>

原文转自:http://www.ltesting.net