或者说说实现方法,展开的代码我写出来了,就是不知怎么让它自动收回去

解决方案 »

  1.   

    或者说说实现方法,展开的代码我写出来了,就是不知怎么让它自动收回去
      

  2.   

    或者说说实现方法,展开的代码我写出来了,就是不知怎么让它自动收回去
      

  3.   

    我有一个。是从网上弄下来的。改了一点。有些地方我也不是很明白,你看看,改了给我寄一个带注释的[email protected]
    -----------------------------------------------------
    <HTML><HEAD>
    <SCRIPT src="menu.js"></SCRIPT>
    <SCRIPT>
    menuItems = new Array();menuItems[0] = new MItem("url","aaaa","",-1,0,false);
    menuItems[1] = new MItem("","a1","",0,1,true);
    menuItems[2] = new MItem("","a2","",0,1,true);
    menuItems[3] = new MItem("","a3","",0,1,true);
    menuItems[4] = new MItem("","a4","",0,1,true);
    menuItems[5] = new MItem("","a5",0,1,true);
    menuItems[6] = new MItem("","a6","",0,1,true);
    menuItems[7] = new MItem("","a7","",0,1,true);
    menuItems[8] = new MItem("","a8","",0,1,true);
    menuItems[9] = new MItem("","a9","",0,1,true);
    menuItems[10] = new MItem("","a10","",0,1,true);
    menuItems[11] = new MItem("","a11","",0,1,true);
    menuItems[12] = new MItem("","bbbb","",-1,0,false);
    menuItems[13] = new MItem("","b1","",12,1,true);
    menuItems[14] = new MItem("","b2","",12,1,true);
    menuItems[15] = new MItem("","b3","",12,1,true);
    menuItems[16] = new MItem("","b4","",12,1,true);
    menuItems[17] = new MItem("","b5","",12,1,true);
    menuItems[18] = new MItem("","b6","",12,1,true);
    </SCRIPT>
    <META http-equiv=Content-Type content="text/html; charset=gb2312">
    <META content="MSHTML 5.50.4134.100" name=GENERATOR></HEAD>
    <BODY bgColor=#ffffff  MARGIN="0">
    <SCRIPT>
      InitMenuItems();
      document.onselectstart = CancelSelect;
    function CancelSelect()
    {
    event.cancelBubble = true;
    return false;
    }
    </SCRIPT>
    </body>
    </html>
    ----------------------------下面是menu.js---------------------------------------var bV=parseInt(navigator.appVersion);
    NS4=(document.layers) ? true : false;
    IE4=((document.all)&&(bV>=4))?true:false;
    ver4 = (NS4 || IE4) ? true : false;
    firstInd=0;
    function MItem(aURL,dispText,helpText,parent,level,isLeaf)
    {
    this.aURL = aURL;
    this.dispText = dispText;
    this.helpText = helpText;
    this.parent = parent;
    this.level = level;
    this.isLeaf = isLeaf;
    this.visible = false;
    this.expanded = false;
    return this;
    }
    function arrange() {
    if (NS4){
    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 ShowMenuItem(idx)
    {
    menuItems[idx].visible = true;
    if (IE4)
    document.all["menu"+idx].style.display="block";
    else if (NS4){
    document.layers[idx].visibility="show";
    }
    }
    function HideMenuItem(idx)
    {
    menuItems[idx].visible = false;
    if (IE4) document.all["menu"+idx].style.display="none";
    else if (NS4) document.layers[idx].visibility="hide";
    }
    function HighlightMenuItem(idx)
    {
    if (IE4){
    document.all["menu"+idx].style.color="white";
    document.all["menu"+idx].style.backgroundColor="white";
    }
    else if (NS4){
    el = document.layers[idx];
    el.color="white";
    el.bgColor="white";
    }
    }
    function NormalMenuItem(idx)
    {
    if (IE4){
    document.all["menu"+idx].style.color="black";
    document.all["menu"+idx].style.backgroundColor="white";
    }
    else if (NS4){
    el = document.layers[idx];
    el.color="50402f";
    el.bgColor="#fbeccc";
    }
    }function Expand(idx)
    {
    str="";
    var i; if (menuItems[idx].isLeaf)
    return;
    if (!menuItems[idx].visible)
    alert("Something goes wrong--expand invisible item"); // Collapse brother
    parentIdx = menuItems[idx].parent;
    for (i=0;i<menuItems.length;i++){
    if (menuItems[i].parent==parentIdx && menuItems[i].expanded){
    if (i<idx)
    NormalMenuItem(idx);
    Collapse(i);
    break;
    }
    }

    // Expand children
    for (i=idx+1;i<menuItems.length;i++){
    if (menuItems[i].parent==idx){
    ShowMenuItem(i);
    str +="idx=" +i +"   ";
    }
    if (menuItems[i].expanded)
    Expand(i);
    if (menuItems[i].level<=menuItems[idx].level)
    break;
    }
    menuItems[idx].expanded = true;
    if (IE4){
    img = eval("MenuItemImg"+idx)
    }
    else if (NS4){
    img = document.layers[idx].document.images[0];
    }
    }function Collapse(idx)
    {
    var i;
    if (menuItems[idx].isLeaf)
    return;
    for (i=idx+1;i<menuItems.length;i++){
    if (menuItems[i].level<=menuItems[idx].level)
    break;
    HideMenuItem(i);
    }
    menuItems[idx].expanded = false;
    if (IE4){
    img = eval("MenuItemImg"+idx);

    }
    else if (NS4){
    img = document.layers[idx].document.images[0];

    }
    }
    function Toggle(idx)
    {
    if (menuItems[idx].expanded)
    Collapse(idx);
    else
    Expand(idx);
    if (NS4)
    arrange();
    return false;
    }
    function InitMenuItems()
    {
    var i;
    strIndent = "&nbsp;&nbsp;";
    if (IE4){
    for (i=0;i<menuItems.length;i++){
    str = "<DIV ID=\"menu"+i+"\" OnMouseOver=\"HighlightMenuItem("+i+")\" OnMouseOut=\"NormalMenuItem("+i+")\"";
    if (menuItems[i].isLeaf){
    str += " CLASS=\"MenuItemIE\" ";
    for (j=0;j<menuItems[i].level;j++)
    str += strIndent;
    str += "<IMG BORDER=0 SRC=\"/img/transparent.gif\" WIDTH=12 HEIGHT=12>";
    str += menuItems[i].dispText;
    }
    else{
    str += " CLASS=\"MenuItemIE2\" ";
    str += " OnClick=\"Toggle("+i+");\">";
    for (j=0;j<menuItems[i].level;j++)
    str += strIndent;
    str += "<IMG BORDER=0 NAME=\"MenuItemImg"+i+"\" SRC=\"/img/menuplus.gif\">";
    str += menuItems[i].dispText;
    }
    str += "</DIV>";
    document.write(str);
    }
    /*
    if (document.all["menu0"]){
    document.all["menu0"].style.borderTop = "1 solid";
    }
    */
    for (i=0;i<menuItems.length;i++){
    if (menuItems[i].level==0)
    ShowMenuItem(i);
    else
    HideMenuItem(i);
    }
    }else if (NS4){
    for (i=0;i<menuItems.length;i++){
    str = "<DIV ID=\"menu"+i+"\" CLASS=\"MenuItemNS\">";
    if (menuItems[i].isLeaf){
    str += "<A HREF=\""+menuItems[i].aURL+"\"  OnMouseOver=\"HighlightMenuItem("+i+");\" OnMouseOut=\"NormalMenuItem("+i+");\">";
    for (j=0;j<menuItems[i].level;j++)
    str += strIndent;
    str += "<IMG BORDER=0 SRC=\"/img/transparent.gif\" WIDTH=12 HEIGHT=12>";
    str += "<FONT COLOR=BLACK>"+menuItems[i].dispText+"</FONT></A>\n";
    }
    else{
    str += " <A HREF=\"#\" OnMouseOver=\"HighlightMenuItem("+i+");\" OnMouseOut=\"NormalMenuItem("+i+");\" OnClick=\"return Toggle("+i+");\">";
    for (j=0;j<menuItems[i].level;j++)
    str += strIndent;
    str += "<IMG BORDER=0 NAME=\"MenuItemImg"+i+"\" SRC=\"/img/menuplus.gif\">";
    str += "<FONT COLOR=BLACK>"+menuItems[i].dispText+"</FONT></A>\n";
    }
    str += "</DIV>";
    document.write(str);
    }
    for (i=0;i<menuItems.length;i++){
    if (menuItems[i].level==0)
    ShowMenuItem(i);
    }
    arrange();
    }
    }