求一个javascript树状菜单源码分析(要自己编写的哦)

解决方案 »

  1.   


    <!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>
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset="utf-8 />
    <meta http-equiv="Content-Language" content="utf-8" />
    <meta name="Designer mail" content="[email protected]" />
    <meta name="robots" />
    <meta name="Keywords" content="" />
    <meta name="Description" content="" />
    <link rel="icon" href="/favicon.ico" type="image/x-icon" />
    <link rel="stylesheet" rev="stylesheet" href="style.css" type="text/css" />
    <script src="style.js" type="text/javascript" language="javascript"></script>
    <head>
    <script>
    if (!document.getElementById)
        document.getElementById = function() { return null; }function initializeMenu(menuId, actuatorId) {
        var menu = document.getElementById(menuId);
        var actuator = document.getElementById(actuatorId);    if (menu == null || actuator == null) return;    //if (window.opera) return; // I'm too tired    actuator.parentNode.style.backgroundImage = "url(images/minus.gif)";
        actuator.onclick = function() {
            var display = menu.style.display;
            this.parentNode.style.backgroundImage =
                (display == "block") ? "url(images/plus.gif)" : "url(images/minus.gif)";
            menu.style.display = (display == "block") ? "none" : "block";        return false;
        }
    }
     window.onload = function() {
                initializeMenu("productsMenu", "productsActuator");
                initializeMenu("newPhonesMenu", "newPhonesActuator");
                initializeMenu("compareMenu", "compareActuator");
            }
    </script>
    <style>
    body {
      font-family: verdana, helvetica, arial, sans-serif;
    }#mainMenu {
      background-color: #EEE;
      border: 1px solid #CCC;
      color: #000;
      width: 203px;
    }#menuList {
      margin: 0px;
      padding: 10px 0px 10px 15px;
    }li.menubar {
      background: url(images/minus.gif) no-repeat 0em 0.3em;
      font-size: 12px;
      line-height: 1.5em;
      list-style: none outside;
    }.menu,  {
      display: block;
      margin-left: 15px;
      padding: 0px;
    }
    .submenu {
      display: block;
      margin-left: 15px;
      padding: 0px;
    }.menu li, .submenu li {
      background: url(images/item.gif) no-repeat 0em 0.3em;
      list-style: none outside;
    }a.actuator {
      background-color: transparent;
      color: #000;
      font-size: 12px;
      padding-left: 15px;
      text-decoration: none;
    }a.actuator:hover {
      text-decoration: underline;
    }.menu li a, .submenu li a {
      background-color: transparent;
      color: #000;
      font-size: 12px;
      padding-left: 15px;
      text-decoration: none;
    }.menu li a:hover, submenu li a:hover {
      /*border-bottom: 1px dashed #000;*/
      text-decoration: underline;
    }span.key {
      text-decoration: underline;
    }
    </style>
    </head>
    <body>
    <div id="mainMenu">
          <ul id="menuList">
            <li class="menubar">
              <a href="#" id="productsActuator" class="actuator">根节点</a>
              <ul id="productsMenu" class="menu">
                <li>
                  <a href="#" id="newPhonesActuator" class="actuator">节点1</a>
                  <ul id="newPhonesMenu" class="submenu">
                    <li><a href="#">子节点</a></li>
                    <li><a href="#">子节点</a></li>
                    <li><a href="#">子节点</a></li>
                    <li><a href="#">子节点</a></li>
                  </ul>
                </li>
                <li>
                  <a href="#" id="compareActuator" class="actuator">节点2</a>
                  <ul id="compareMenu" class="submenu">
                    <li><a href="#">子节点</a></li>
                    <li><a href="#">子节点</a></li>
                  </ul>
                </li>
              </ul>
            </li>
          </ul>
        </div>
      </body>
      

  2.   

    可以考虑用jquery结合css+html
    主要用li
      

  3.   

    CSDN这个梅花雪树不错。如果自己写着玩,随便一个都可以。但要是数据量很大时,可以看下CSDN这个树
      

  4.   


      <meta http-equiv="Content-Type" content="text/html; charset="utf-8 />
    //右边"放错了
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
      

  5.   

    我有源代码。是我自己写的。。 也封装了JS。。 你要么?  QQ526673470  我现在在网吧,你加我吧,我到时候发给你。
      

  6.   

    http://topic.csdn.net/u/20100827/11/3a2fb67a-ae8d-4914-8bf4-3c27723feab3.html在这里。你看看吧。。 有我发的代码。。我忘记了。呵呵
      

  7.   

    alert("学习了!不过,这个不是那种可以点击收回的呀!")
      

  8.   


    <a href="#" id="productsActuator" class="actuator">根节点</a>
    这个是亮点