求个树形菜单源码,类似 

      
         
这样一级一级的显示,多谢  

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【Luffy0614】截止到2008-07-15 08:42:05的历史汇总数据(不包括此帖):
    发帖的总数量:46                       发帖的总分数:1650                     每贴平均分数:35                       
    回帖的总数量:44                       得分贴总数量:5                        回帖的得分率:11%                      
    结贴的总数量:46                       结贴的总分数:1650                     
    无满意结贴数:4                        无满意结贴分:90                       
    未结的帖子数:0                        未结的总分数:0                        
    结贴的百分比:100.00%               结分的百分比:100.00%                  
    无满意结贴率:8.70  %               无满意结分率:5.45  %                  
    敬礼!
      

  2.   

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    <HEAD>
    <TITLE> tree </TITLE>
    <META NAME="Generator" CONTENT="EditPlus">
    <META NAME="Author" CONTENT="">
    <META NAME="Keywords" CONTENT="">
    <META NAME="Description" CONTENT="">
    </HEAD><BODY>
    <a href='#' onclick='showLay("Layer1")'><span id='spLayer1'>+</span>吉林省</a><br>
    <div id='Layer1' style='display:none;'>
    |-<a href='#' onclick='showLay("Layer11")'><span id='spLayer11'>+</span>长春市</a><br>
    <div id='Layer11' style='display:none;'>
    &nbsp;&nbsp;&nbsp;●这个村<br>
    &nbsp;&nbsp;&nbsp;●那个屯<br>
    &nbsp;&nbsp;&nbsp;●朝阳区<br>
    </div>
    <br>
     |-<a href='#' onclick='showLay("Layer12")'><span id='spLayer12'>+</span>松原市</a><br>
    <div id='Layer12' style='display:none;'>
    &nbsp;&nbsp;&nbsp;●长岭县<br>
    &nbsp;&nbsp;&nbsp;●二里界<br>
    </div>
    <a href='#' onclick='showLay("Layer13")'><br>
     |-<span id='spLayer13'>+</span>太平川</a><br>
    <div id='Layer13' style='display:none;'>
    &nbsp;&nbsp;&nbsp;●小村子<br>
    &nbsp;&nbsp;&nbsp;●小屯子<br>
    <br>
    </div>
    </div>
    <a href='#' onclick='showLay("Layer2")'><span id='spLayer2'>+</span>北京市</a>
    <div id='Layer2' style='display:none;'>
    &nbsp;&nbsp;&nbsp;●丰台区<br>
    &nbsp;&nbsp;&nbsp;●海淀区
    </div>
    <script language='javascript'>
    function showLay(divId)
    {
    var objDiv=eval(divId);
    if(objDiv.style.display=='none')
    {
    eval('sp'+divId+'.innerHTML="-"');
    objDiv.style.display='';
    }
    else
    {
    eval('sp'+divId+'.innerHTML="+"');
    objDiv.style.display='none';
    }
    }
    </script>
    </BODY>
    </HTML>
      

  3.   

    typo...
    楼主要求的属性菜单是态的,还是写死的?
      

  4.   

    JavaScript Code:
    /*****************************
    JavaScript Code for CNLTreeMenu
    Version: Ver 1.02
    Author : CNLei, 枫岩
    E-Mail : [email protected]
    MySite : http://www.cnlei.net
    Passed : XHtml 1.0, CSS 2.0, IE5.0+, FF1.0+, Opera8.5+
    Update : 2006-2-12
    *****************************/
    function Ob(o){
     var o=document.getElementById(o)?document.getElementById(o):o;
     return o;
    }
    function Hd(o) {
     Ob(o).style.display="none";
    }
    function Sw(o) {
     Ob(o).style.display="";
    }
    function ExCls(o,a,b,n){
     var o=Ob(o);
     for(i=0;i<n;i++) {o=o.parentNode;}
     o.className=o.className==a?b:a;
    }
    function CNLTreeMenu(id,TagName0) {
      this.id=id;
      this.TagName0=TagName0==""?"li":TagName0;
      this.AllNodes = Ob(this.id).getElementsByTagName(TagName0);
      this.InitCss = function (ClassName0,ClassName1,ClassName2,ImgUrl) {
      this.ClassName0=ClassName0;
      this.ClassName1=ClassName1;
      this.ClassName2=ClassName2;
      this.ImgUrl=ImgUrl || "css/s.gif";
      this.ImgBlankA ="<img src=\"css/s.gif\" class=\"s\" onclick=\"ExCls(this,'"+ClassName0+"','"+ClassName1+"',1);\" alt=\"展开/折叠\" />";
      this.ImgBlankB ="<img src=\"css/s.gif\" class=\"s\" />";
      for (i=0;i<this.AllNodes.length;i++ ) {
       this.AllNodes[i].className==""?this.AllNodes[i].className=ClassName1:"";
       this.AllNodes[i].innerHTML=(this.AllNodes[i].className==ClassName2?this.ImgBlankB:this.ImgBlankA)+this.AllNodes[i].innerHTML;
       }
     }
     this.SetNodes = function (n) {
      var sClsName=n==0?this.ClassName0:this.ClassName1;
      for (i=0;i<this.AllNodes.length;i++ ) {
       this.AllNodes[i].className==this.ClassName2?"":this.AllNodes[i].className=sClsName;
      }
     }
    }
      

  5.   

    <li><a href="#1">二级目录</a>
      <ul>
           <li><a href="#">三级目录</a>
        <ul>
             <li><a href="#">四级目录</a>
      <ul>
               <li><a href="#">五级目录</a>
        <ul>
                 <li><a href="#">......</a>
      <ul>
                   <li><a href="#">第n级目录</a>
         <ul>
                   <li class="Child"><a href="#">叶结点1</a></li><!--Child Node-->
                   <li class="Child"><a href="#">叶结点2</a></li>
                   <li class="Child"><a href="#">叶结点3</a></li>
                   </ul></li><!--Sub Node n -->
                  </ul></li><!--Sub Node 6 -->
                </ul></li><!--Sub Node 5 -->
              </ul></li><!--Sub Node 4-->
            </ul></li><!--Sub Node 3-->
         </ul></li><!--Sub Node 2-->
        <li><a href="#1">二级目录</a>
      

  6.   

    [align=left]<script type="text/javascript">
    <!--
    d = new dTree('d');
    d.config.folderLinks=true;
    <%
    List list = ServiceUtil.getBss().getBookSortResult();
    for(int i = 0 ; i < list.size() ; i++) {
    BookSort bs = (BookSort) list.get(i);
    if(bs.getParentBookSortSeq().toString().equals("-1")) {  //如果为根节点(父节点为-1)
    %>
    d.add(<%=bs.getBookSortSeq()%>(节点的ID),-1(节点的父ID),'<%=bs.getSortName()%>'(节点的名称),' '(点击节点的链接地址),'','photoMain'(是弹出新页面还是显示在其他框架中));
    <%
    } else {
    %>
    d.add(<%=bs.getBookSortSeq()%>,<%=bs.getParentBookSortSeq()%>,'<%=bs.getSortName()%>','<%=basePath%>admin/bookManage/bookInf.jsp?bookSortSeq=<%=bs.getBookSortSeq()%>','','photoMain');

    <% }}%>
    //-->
    document.write(d);
    </script>[/align]
    再下个dtree.js,网上很多的