js, 树状菜单隐藏显示

摘要:
Js不是很严格~~~嘿˂!

js写的不是很严谨~~~嘿嘿

 

<!DOCTYPE html>

<html>

<head>

<metacharset="UTF-8">

<style>

#ul_treeul {

    display: none;

}

 

</style>

<title>树状菜单</title>

</head>

<body>

 

<ulid="ul_tree">

<li><ahref="javascript:void(0)">a</a>

    <ulclass="ul-second">

        <li><ahref="javascript:void(0)">aa</a>

            <ul>

                <li><ahref="javascript:void(0)">aa</a>

                <li><ahref="javascript:void(0)">aa</a>

                <li><ahref="javascript:void(0)">aa</a>

            </ul>

        </li>

        <li><ahref="javascript:void(0)">ab</a>

            <ul>

                <li><ahref="javascript:void(0)">bb</a>

                <li><ahref="javascript:void(0)">bb</a>

                <li><ahref="javascript:void(0)">bb</a>

            </ul>

        </li>

        <li><ahref="javascript:void(0)">ac</a></li>

        <li><ahref="javascript:void(0)">ad</a></li>

    </ul>

</li>

<li><ahref="javascript:void(0)">b</a>

    <ulclass="ul-second">

        <li><ahref="javascript:void(0)">ba</a></li>

        <li><ahref="javascript:void(0)">bb</a></li>

        <li><ahref="javascript:void(0)">bc</a></li>

        <li><ahref="javascript:void(0)">bd</a></li>

    </ul>

</li>

<li><ahref="javascript:void(0)">c</a>

    <ulclass="ul-second">

        <li><ahref="javascript:void(0)">ca</a></li>

        <li><ahref="javascript:void(0)">cb</a></li>

        <li><ahref="javascript:void(0)">cc</a></li>

        <li><ahref="javascript:void(0)">cd</a></li>

    </ul>

</li>

<li><ahref="javascript:void(0)">d</a>

    <ulclass="ul-second">

        <li><ahref="javascript:void(0)">da</a></li>

        <li><ahref="javascript:void(0)">db</a></li>

        <li><ahref="javascript:void(0)">dc</a></li>

        <li><ahref="javascript:void(0)">dd</a></li>

    </ul>

</li>

</ul>

<script>

(function(){

    var links = document.getElementsByTagName('a');

    for(var i = 0; i < links.length; i++){

        links[i].addEventListener('click', function(e){

            setDisplay(e.target);

            

        });

    }

    

})();

 

function setDisplay(obj){

    var fatherLi = getParent(obj, 'li');

    var childUl = getFirstLevelChild(fatherLi, 'ul');

    if(childUl.length > 0){

        //console.log(childUl[0].style.display);

        

        if(childUl[0].style.display == ''){

            childUl[0].style.display = "none";

        }

        if(childUl[0].style.display == 'block'){

            childUl[0].style.display = "none";

        }else {

            childUl[0].style.display = "block";

        }

        

    }

}

function getFirstLevelChild(obj, tagname){

    var children = obj.childNodes;

    var returns = new Array();

    for(var i = 0, j = 0; i < children.length; i++){

        if(children[i].nodeName.toLowerCase() == tagname.toLowerCase()){

            returns[j] = children[i];

            j++;

        }

    }

    

    return returns;

}

 

function getParent(obj, parentTag){

    //console.log(obj);

    //alert();

    var returns;

    var _parent = obj.parentNode;

    //console.log(_parent);

    //console.log(_parent.nodeName);

    if(_parent.nodeName.toLowerCase() == parentTag.toLowerCase()){

        returns = _parent;

    }else{

        returns = getParent(_parent, parentTag);

    }

    return returns;

}

 

 

</script>

</body>

</html>

免责声明:文章转载自《js, 树状菜单隐藏显示》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇微信小程序腾讯云配置Tomcat https端口汇编语言——寄存器(内存访问 ss栈段寄存器)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

小谢第29问:Vue项目打包部署到服务器上,调接口就报js,css 文件404

1、publicPath路径的问题,先看下build之后的包确认下是不是publicPath路径配置的原因,有没有static这个文件夹,以及这个文件夹下边有没有这些404的js和css 2、history模式需要配置nginx支持 3、在dev环境下测试没有问题,但是npm run build后图片的路径找不到,对于图片路径的设置,只可以有以下三种方式...

[转载]js监听浏览器离开页面操作

序言 大家是否经常遇到在关闭网页的时候,会看到一个确定是否离开当前页面的提示框?想一些在线测试系统、信息录入系统等就经常会有这一些提示,避免用户有意或者无意中关掉了页面,导致数据丢失。这里面的实现过程很简单,利用了HTML DOM事件中的onunload和onbeforeunload方法。 unload 事件属性 定义:当用户卸载文档时执行一段 JavaS...

jquery的tree table(树表)

  因项目需要,需要在表格中加入tree,使用了jquery的tree table,经美化,完美兼容各种框架的table;   请移步下载tree table 的js文件及css文件等,http://ludo.cubicphuse.nl/jquery-treetable/;      用到css文件:<link rel="stylesheet" hr...

js获取一个对象的所以属性和值

在HTML DOM中,获取某个元素对象的时候,往往记不住它的很多属性,可以通过下面的例子来查找一下: 1 <!DOCTYPE html> 2 <html> 3 <body> 4 <h1>获取对象属性和值</h1> 5 <div id="div1" class="di...

js实现模糊查询

1、简述 实现模糊查询方法有很多种,后端可以实现,前端使用js也可以实现。 后端实现起来需要根据输入框中搜索的关键字,去后台拼接SQL语句查询。 前端直接使用字符串的indexOf()方法或者正则表达式匹配实现,相比后端实现这种方法的用户体验更友好。 2、demo 当输入框中输入内容或者点击查询按钮时, 根据输入框中的关键字,模糊查询下面表格的内容,并重新...

LodopJS代码模版的加载和赋值

Lodop模版有两种方法,一种是传统的JS语句,可以用JS方法里的eval来执行,一种是文档式模版,是特殊格式的base64码,此篇博文介绍JS模版的加载和赋值。两种模版都可以存入一下地方进行调用,比如数据库等。 JS模版的生成,可查看本博客的相关博文:Lodop的JS模版代码、文档式模版 生成加载赋值博文索引 关于该JS模版的加载,需要使用JS里的一个方...