最近在做个项目 需要用到折叠面板 也就是折叠菜单那种类型的啊求大神给代码啊!急喔~ 非常感谢 附图如下!
我的点击按钮后,所有面板又恢复原始状态!

解决方案 »

  1.   

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm2.aspx.cs" Inherits="WebUI.WebForm2" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>无标题页</title>
        <style type="text/css">
    .mainDiv
    {
      width:160px;
    }
    .topItem
    {
      width:160px;
      height:22px;
      cursor:pointer;
      background: #467BF2;
      text-decoration: none;
      color: white;
      font-weight:bold;
      font-family:"GOTHIC";
    }
    .dropMenu
    {
      background:#D9D9D9;
      border-top:1px solid #467BF2;
      border-left:1px solid #92B1F8;
      border-right:1px solid #92B1F8;
      border-bottom:1px solid #92B1F8;
    }
    .subMenu
    {
       display:none;
    }
    .subItem
    {
       padding-left:5px;
       cursor:pointer;
       font-weight:bold;
       text-decoration:none;
       color:black;
    }
    .subItem a
    {
       text-decoration:none;
       color:black;
    }
    .subItemOver
    {
       cursor:pointer;
       color:blue;
       text-decoration:underline;
       font-weight:bold;
       padding-left:5px;
    }
    .subItemOver  a
    {
       color:blue;
    }
    .drop
    {
       border-left:1px solid black;
       border-right:1px solid black;
    }
    </style>
    <script language="javascript">
    var TIMER_SLIDE = null;
    var OBJ_SLIDE;
    var OBJ_VIEW;
    var PIX_SLIDE = 10; //this is the amount of slide/DELAY_SLIDE
    var NEW_PIX_VAL;
    var DELAY_SLIDE = 30; //this is the time between each call to slide
    var DIV_HEIGHT = 22; //value irrelevant
    var SUB_MENU_NUM =0;
    var RE_INIT_OBJ = null;
    var bMenu = document.getElementById("curMenu");
    var MainDiv,SubDiv
    //DD added code
    document.write('<div id="tempcontainer" class="mainDiv" style="visibility: hidden; position: absolute"></div>')
    function Init(objDiv)
    {
        if (TIMER_SLIDE == null)
        {
            SUB_MENU_NUM = 0;
            MainDiv = objDiv.parentNode;
            SubDiv =  MainDiv.getElementsByTagName("DIV").item(0);
            SubDiv.onclick = SetSlide;
            OBJ_SLIDE = MainDiv.getElementsByTagName("DIV").item(1)
            OBJ_VIEW = OBJ_SLIDE.getElementsByTagName("DIV").item(0);
        document.getElementById("tempcontainer").innerHTML=MainDiv.getElementsByTagName("DIV").item(2).innerHTML //DD added code
        DIV_HEIGHT=document.getElementById("tempcontainer").offsetHeight //DD added code
            for (i=0;i<OBJ_VIEW.childNodes.length;i++)
            {
                if (OBJ_VIEW.childNodes.item(i).tagName == "SPAN")
                {
                    SUB_MENU_NUM ++;
                    OBJ_VIEW.childNodes.item(i).onmouseover= ChangeStyle;
                    OBJ_VIEW.childNodes.item(i).onmouseout= ChangeStyle;
                }
            }
                  NEW_PIX_VAL = parseInt(MainDiv.getAttribute("state"));
        }
    }
    function SetSlide()
    {
       if (window.TIMER_SLIDE) clearInterval(TIMER_SLIDE) //DD added code
          if (TIMER_SLIDE == null && this.parentNode == MainDiv)
                TIMER_SLIDE = setInterval('RunSlide()', DELAY_SLIDE);
          else
          {
              RE_INIT_OBJ = this;
              setTimeout('ReInit()', 200);
          }
    }
    //欢迎来到站长特效网,我们的网址是www.freezz.net,很好记,zz站长,js就是js特效,本站收集大量高质量js代码,还有许多广告代码下载。
    function ReInit(obj)
    {
        Init(RE_INIT_OBJ);
        TIMER_SLIDE = setInterval('RunSlide()', DELAY_SLIDE);
        RE_INIT_OBJ = null;
    }
    //欢迎来到站长特效网,我们的网址是www.freezz.net,很好记,zz站长,js就是js特效,本站收集大量高质量js代码,还有许多广告代码下载。
    function RunSlide()
    {
        if (OBJ_VIEW.getAttribute("state") == 0)
        {
            NEW_PIX_VAL += PIX_SLIDE;
            OBJ_SLIDE.style.height = NEW_PIX_VAL;
            if (NEW_PIX_VAL >= DIV_HEIGHT) //DD modified code
            {
                clearInterval(TIMER_SLIDE);
                TIMER_SLIDE = null;
                OBJ_VIEW.style.display = 'inline';
                OBJ_VIEW.setAttribute("state","1")
                MainDiv.setAttribute("state",NEW_PIX_VAL);
            }
        } else
        {
            OBJ_VIEW.style.display = 'none';
            NEW_PIX_VAL -= PIX_SLIDE;
            if(NEW_PIX_VAL > 0)OBJ_SLIDE.style.height = NEW_PIX_VAL;
            if (NEW_PIX_VAL <= 0)
            {
                NEW_PIX_VAL = 0;
                OBJ_SLIDE.style.height = NEW_PIX_VAL
                clearInterval(TIMER_SLIDE);
                TIMER_SLIDE = null;
                OBJ_VIEW.setAttribute("state","0")
                MainDiv.setAttribute("state",NEW_PIX_VAL);
            }
        }
    }
    //欢迎来到站长特效网,我们的网址是www.freezz.net,很好记,zz站长,js就是js特效,本站收集大量高质量js代码,还有许多广告代码下载。
    function ChangeStyle()
    {
        if (this.className == this.getAttribute("classOut"))
            this.className = this.getAttribute("classOver");
        else
            this.className = this.getAttribute("classOut");
    }
    </script>
    </head>
    <body>
        <form id="form1" runat="server">
        <!--------Start Menu---------->
    <div class="mainDiv" state="0">
    <div class="topItem" classOut="topItem" classOver="topItemOver" onMouseOver="Init(this);" >JS特效</div>
    <div class="dropMenu" >
     <div class="subMenu" state="0">
      <span class="subItem" classOut="subItem" classOver="subItemOver"><a href="http://www.freezz.net">图形图像</a></span>
      <span class="subItem" classOut="subItem" classOver="subItemOver"><a href="http://www.freezz.net">鼠标事件</a></span>
      <span class="subItem" classOut="subItem" classOver="subItemOver"><a href="http://www.freezz.net">时间日期</a></span>
      <span class="subItem" classOut="subItem" classOver="subItemOver"><a href="http://www.freezz.net">导航菜单</a></span>
      <span class="subItem" classOut="subItem" classOver="subItemOver"><a href="http://www.freezz.net">文字效果</a></span>
     </div>
    </div>
    </div>
    <!--------End Menu---------->
    <!--------Start Menu---------->
    <div class="mainDiv" state="0">
    <div class="topItem" classOut="topItem" classOver="topItemOver" onMouseOver="Init(this)" >站长特效</div>
    <div class="dropMenu" >
     <div class="subMenu" state="0">
      <span class="subItem" classOut="subItem" classOver="subItemOver"><a href="<#ZC_BLOG_HOST#>?cat=11">网页制作</a></span>
      <span class="subItem" classOut="subItem" classOver="subItemOver"><a href="<#ZC_BLOG_HOST#>?cat=10">网络编程</a></span>
      <span class="subItem" classOut="subItem" classOver="subItemOver"><a href="<#ZC_BLOG_HOST#>?cat=1">图形图像</a></span>
     </div>
    </div>
    </div>
    <!--------End Menu---------->
    <!--------Start Menu---------->
    <div class="mainDiv" state="0">
    <div class="topItem" classOut="topItem" classOver="topItemOver" onMouseOver="Init(this)" >网页特效</div>
    <div class="dropMenu" >
     <div class="subMenu" state="0">
      <span class="subItem" classOut="subItem" classOver="subItemOver"><a href="http://www.freezz.net">网页设计</a></span>
      <span class="subItem" classOut="subItem" classOver="subItemOver"><a href="http://www.freezz.net">艺术创作</a></span>
      <span class="subItem" classOut="subItem" classOver="subItemOver"><a href="http://www.freezz.net">电脑网络</a></span>
      </div>
    </div>
    </div>
    <!--------End Menu---------->
        </form>
    </body>
    </html>