最好用js实现,最好嫩跟html独立开来,这样就可以重复利用

解决方案 »

  1.   

    你http://www.justrun.net找skytree看看吧
      

  2.   

    http://www.justrun.net/Product/SkyTree/Examples/Case_FormSelect.asp
      

  3.   

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>tree</title>
    <style>
    <!--
    #foldheader{cursor:hand ; font-weight:bold ;list-style-image:url(fold.gif)}
    #foldinglist{list-style-image:url(list.gif)}
    -->
    </style>
    <script language="JavaScript1.2">
    var head="display:''"
    img1=new Image()
    img1.src="fold.gif"
    img2=new Image()
    img2.src="open.gif"function change(){
       if(!document.all)
          return
       if (event.srcElement.id=="foldheader") {
          var srcIndex = event.srcElement.sourceIndex
          var nested = document.all[srcIndex+1]
          if (nested.style.display=="none") {
             nested.style.display=''
             event.srcElement.style.listStyleImage="url(open.gif)"
          }
          else {
             nested.style.display="none"
             event.srcElement.style.listStyleImage="url(fold.gif)"
          }
       }
    }document.onclick=change//-->
    </script>
    <script language="JavaScript1.2">
    <!--
    /**
     * Get cookie routine by Shelley Powers 
     * ([email protected])
     */
    function get_cookie(Name) {
      var search = Name + "="
      var returnvalue = "";
      if (document.cookie.length > 0) {
        offset = document.cookie.indexOf(search)
        // if cookie exists
        if (offset != -1) { 
          offset += search.length
          // set index of beginning of value
          end = document.cookie.indexOf(";", offset);
          // set index of end of cookie value
          if (end == -1) end = document.cookie.length;
          returnvalue=unescape(document.cookie.substring(offset, end))
          }
       }
      return returnvalue;
    }if (get_cookie(window.location.pathname) != ''){
      var openresults=get_cookie(window.location.pathname).split(" ")
      for (i=0 ; i < openresults.length ; i++){
        foldinglist[openresults[i]].style.display=''
        document.all[foldinglist[openresults[i]].sourceIndex -
    1].style.listStyleImage="url(open.gif)"
      }
    }if (document.all){
      var nodelength=foldinglist.length-1
      var nodes=new Array(nodelength)
      var openones=''
    }function check(){
      for (i=0 ; i <= nodelength ; i++){
        if (foldinglist[i].style.display=='')
           openones=openones + " " + i
      }
      document.cookie=window.location.pathname+"="+openones
    }if (document.all)
      document.body.onunload=check
    //-->
    </script>
    </head>
    <body>
    <ul>
       <li id="foldheader">News</li>
       <ul id="foldinglist" style="display:none">
          <li><a href="../../../www.cnn.com/index.html">CNN</a></li>
          <li><a href="../../../www.abcnews.com/index.html">ABC News</a></li>
          <li><a href="../../../www.vancouversun.com/index.html">Vancouver Sun</a></li>
       </ul>   <li id="foldheader">Games</li>
       <ul id="foldinglist" style="display:none">
          <li><a href="../../../www.gamespot.com/index.html">GameSpot</a></li>
          <li><a href="../../../www.happypuppy.com/index.html">Happy Puppy</a></li>
          <li><a href="../../../www.gamecenter.com/index.html">Game Center</a></li>
       </ul>   <li id="foldheader">Software</li>
       <ul id="foldinglist" style="display:none">
          <li><a href="../../../www.download.com/index.html">outer 1</a></li>
          <li><a href="../../../www.hotfiles.com/index.html">outer 2</a></li>
          <li id="foldheader">Nested</li>
          <ul id="foldinglist" style="display:none">
             <li><a href="../../../www.windows95.com/index.html">nested 1</a></li>
             <li><a href="../../../www.shareware.com/index.html">nested 2</a></li>
          </ul>
          <li><a href="../../../www.windows95.com/index.html">outer 3</a></li>
          <li><a href="../../../www.shareware.com/index.html">outer 4</a></li>
       </ul>
    </ul>
    </body>
    </html><!--
    1.将以上代码保存到一个记事本当中2.另存为 tree.htm3.双击预览
    -->
      

  4.   

    代码中有 2处涉及到图片:1.css中2.  event.srcElement.style.listStyleImage="url(open.gif)"
      

  5.   

    在网上搜索 Dtree 可以很轻松生成一棵树