代码编织梦想

   树型菜单是一种很常见的用户输入界面,很多应用中都很常用。这种菜单有很多优点,例如层次结构清晰。本文就如何用JavaScript编写树型菜单作讨论。用JavaScript来编写的基本原理是通过Html的DIV标签+Css来控制每一层的可见或隐藏。

   通过Div标签,可以控制每层的隐藏或可见。但不同的浏览器,支持的CSS不同,具体的语法也不同。对于IE浏览器,可以通过 *.style.display = "block"|"none"来控制。

  例如

  <html>
  <head>
    <script>
      with (document) {
        write("<STYLE TYPE=''text/css''>");
        if (document.layers) {
          write(".parent {position:absolute; visibility:visible}");
          write(".child {position:absolute; visibility:visible}");
          write(".regular {position:absolute; visibility:visible}")
        }else if(document.all) {
          write(".child {display:none}")
        }
       write("</STYLE>");
     }
   
      function expandIt(el) {
       if (document.all) {
         whichEl = eval(el + "Child");
         if (whichEl.style.display == "none") {
           whichEl.style.display = "block";
         }else {
           whichEl.style.display = "none";
         }
       }else if(document.layers){
          whichEl = eval("document." + el + "Child");
          if (whichEl.visibility == "hide") {
            whichEl.visibility = "show";
          }else {
            whichEl.visibility = "hide";
          }
          arrange();
      }
     }
    
     function click1(){
       alert("click");
     }
    </script>
  </head>
  <body>
    <div id="KBParent1">
       <a href="#" onClick="expandIt('KB1'); return false">点击</a>
    </div>
    <div id="KB1Child" class="child" style="width: 128; height: 64">&nbsp; <a href="sample.htm" target="_blank">页面一</a><br>
       <a href="sample.htm" target="_blank">页面二</a><br>
       <a href="sample.htm" target="_blank">页面三</a> 
    </div>
   
    <div id="KBParent2">
       <a href="#" onClick="expandIt('KB2'); return false">点击</a>
    </div>
    <div id="KB2Child" class="child" style="width: 128; height: 64">&nbsp; <a href="sample.htm" target="_blank">页面一</a><br>
       <a href="sample.htm" target="_blank">页面二</a><br>
       <a href="sample.htm" target="_blank">页面三</a> 
    </div>

  </body>
</html>

 

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Delphiren/article/details/630276

javascript - 用纯js实现多层树形菜单_尊贵的svip的博客-爱代码爱编程

数据格式为 { id : "保证唯一即可" , value : "展示的内容" , level : "树的层级" , fatherId : "父节点id" } ------------------------只作展示的静态树 <!DOCTYPE html> <html> <head> <met

纯js代码来实现树形菜单_慧小慧的博客-爱代码爱编程_js树形菜单代码

纯js代码来实现树形菜单(自定义树形菜单) 开发工具与关键技术:MVC、JavaScript 撰写时间:2019/06/15 树形菜单:其实树形菜单实现起来挺简单的,只是我的案例主要是使用插件和js代码实现的。 下面就

树状菜单实现-爱代码爱编程

多级菜单编程实现 1)菜单结构 ​ 菜单结构采用树状结构,由若干个节点组成多级菜单。每个节点由当前层级节点数、标题,操作函数、父节点和子节点构成,如下代码所示。 typedef struct Menu{ uint8_t MenuNodes; //当前层节点数目 char *MenuName; //菜单标题 void (*func)(uin

JS实现简单树形结构菜单-爱代码爱编程

功能效果图: 思路: 在无限极别的菜单中,数据一般不是固定的,需要从服务器请求获取:如果数据量不大,一般是一次请求数据,获取到所有级别的信息如果数据量比较大,一般只是请求当前这一级的信息,点击展示的时候,再去请求下一级信息(再去动态生成下一级的DOM内容)创建DOM的时候,有的是一次性把所有级别的DOM创建好(数据量不大),控制显示隐藏,有的也只是渲染

js实现树级递归,通过js生成tree树形菜单(递归算法)-爱代码爱编程

/** * 数据转换为树形(递归),示例:toTreeByRecursion(source, 'id', 'parentId', null, 'children') * @param {Array} source 数据 * @param {String} idField 标识字段名称 * @param {String} parentIdField

js构建树形菜单-爱代码爱编程

数据以数组形式存储,元素包括id和pid var data = [ { id: 1, name: "办公管理", pid: 0 }, { id: 2, name: "请假申请", pid: 1 }, { id: 3, name: "出差申请", pid: 1 }, { id: 4, name: "请假记录", pid: 2