• jQuery之导航菜单(点击该父节点时子节点显示,同时子节点的同级隐藏,但是同级的父节点始终显示)



    注:对于同一个对象不超过3个操作的,可直接写成一行,超
    过3个操作的建议每行写一个操作。这样可读性较强,可提高代码的可读性和可维护性

    核心代码:

    $(".has_children").click(function(){
    $(this).addClass("highlight") //为当前元素增加highlight类
         .children("a").show().end() //将子节点的<a>元素显示出来并重新定位到上次操作的元素
    .siblings().removeClass("highlight")获取元素的兄弟元素,并去掉它们的highlight类
         .children("a").hide();//将兄弟元素下的<a>元素隐藏
    })

    以上js代码的意思为:当点击含有class名为“has_children
    ”的节点时,其子节点元素“a”添加上类“highlight”并且
    显示,同时该同辈元素“a”去掉class"highlight"并隐藏。

    全部过程:

    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="utf-8" />
    <title>jQuery的第一个demo</title>
    <script src="js/jquery-2.1.1.min.js" rel="script"></script>
    <style>
    .menu{
    200px;
    }
    .has_children{
    background: #f00;
    color: yellow;
    cursor: pointer;
    }
    .highlight{
    background: #647787;
    color: #f0f;
    }
    div{
    padding: 0;
    margin: 10px 0;
    }
    div a{
    background: #1a272f;
    color: #fff;
    display: none;
    200px;
    float: left;
    }
    </style>
    <script>
    $(document).ready(function () {
    $(".has_children").click(function(){
    $(this).addClass("highlight").children("a").show().end().siblings().
    removeClass("highlight").children("a").hide();
    })
    })

    </script>
    </head>
    <body>
    <div class="menu">
    <div class="has_children">
    <span>第一个节点</span>
    <a>子节点1</a>
    <a>子节点2</a>
    <a>子节点3</a>
    <a>子节点4</a>
    </div>
    <div class="has_children">
    <span>第二个节点</span>
    <a>子节点1</a>
    <a>子节点2</a>
    <a>子节点3</a>
    <a>子节点4</a>
    </div>
    <div class="has_children">
    <span>第三个节点</span>
    <a>子节点1</a>
    <a>子节点2</a>
    <a>子节点3</a>
    <a>子节点4</a>
    </div>
    </div>
    </body>
    </html>
    没有人能一路单纯到底,但是要记住,别忘了最初的自己!
  • 相关阅读:
    行为型模式之 命令模式
    结构型模式之 代理模式
    oop编程思想
    2013应届毕业生各大IT公司待遇整理汇总篇(转)
    python定义class
    python——博客园首页信息提取与分析(转载有改动)
    深入浅出TCP/IP协议
    python基础之socket
    python基础
    c++stl之stack
  • 原文地址:https://www.cnblogs.com/LindaBlog/p/9789583.html
Copyright © 2020-2023  润新知