两个简单菜单特效

形式一

图片2.png

思路:

1、给每个菜单的第一个元素(收藏夹、库...)绑定单击事件
2、单击事件要做什么事情
找到当前所有的兄弟元素都都批量显示和隐藏间进行切换

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script type="text/javascript" src='./jquery.js'></script>
    <style type="text/css">
        dt{color: red;width: 80px;}
    </style>
</head>
<body>
    <dl>
        <dt>收藏夹</dt>
        <dd>2345下载</dd>
        <dd>桌面</dd>
    </dl>
    <dl>
        <dt>库</dt>
        <dd>视频</dd>
        <dd>图片</dd>
        <dd>文档</dd>
        <dd>迅雷下载</dd>
        <dd>音乐</dd>
    </dl>
    <dl>
        <dt>计算机</dt>
        <dd>C盘</dd>
        <dd>D盘</dd>
        <dd>E盘</dd>
    </dl>
</body>
<script type="text/javascript">
    //给dl下面名为dt子元素绑定单击事件
    $("dl > dt").click(function(){
        //console.log($(this).html()); //当前点击元素的dt
        //方式一:找到当前元素名为dd的所有的兄弟,都批量执行显示和隐藏切换的方法
        //$(this).siblings('dd').slideToggle();
        //方式二: 找到当前元素的父元素,找到父下面名为dd的子元素,都批量执行显示和隐藏切换的方法
        $(this).parent().children('dd').toggle();
    });
</script>
</html>

形式二

图片3.png

思路:

1、构建html布局
2、给选项卡绑定单击事件,单击事件做的事情:
a、给当前单击的选项卡加一各高亮显示颜色标识,其他同级兄弟就要移除高亮显示颜色标识
b、找到下面对应的选项卡的内容

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script type="text/javascript" src='./jquery.js'></script>
    <style type="text/css">
        *{margin:0px;padding:0px;}
        #header > span{width: 70px; background-color: #666;margin-right:30px;display: inline-block;}
        #box > .content{
            width: 277px;
            height: 200px;
            border:3px solid pink;
            display: none;
        }
        #box > .selected{
            display: block;
        }

        .native{
            border-bottom:3px solid red;
        }
    </style>
</head>
<body>
    <div id="header">
        <span class="tab native">tab1</span>
        <span class="tab">tab2</span>
        <span class="tab">tab3</span>
    </div>
    <div id='box'>
        <div class="content selected">tab1内容</div>
        <div class="content">tab2内容</div>
        <div class="content">tab3内容</div>
    </div>
</body>
<script type="text/javascript">
    $(".tab").click(function(){
        //给当前元素添加native,并且同辈元素移除类名为native
        $(this).addClass('native').siblings('.tab').removeClass('native');
        //获取到当前的对象的下标值
        var index = $(this).index();
        //找到对应下标index的类名为content,给加上类名selected,同辈要移除类名为selected
        $(".content").eq(index).addClass('selected').siblings('.content').removeClass('selected');
        //$(".content:eq("+index+")").addClass('selected').siblings('.content').removeClass('selected');
        //$(".content").eq(index).addClass('selected').siblings('.selected').removeClass('selected');
    });
</script>
</html>
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  •   JavaScript 与 HTML 之间的交互是通过事件实现的。   事件,就是文档或浏览器窗口中发生的一些特...
    霜天晓阅读 3,548评论 1 11
  • 对不起,如果有人看我的文章的话,我要通知一下,之前的篇章到此结束,我会开启新的篇章,但是在这里也许除了我没有人会看...
    来日_方长阅读 176评论 0 0
  • 稽古揆今述信史,考籍阅典访贤耆。济阳发脉崇一本,江九绍宗继三支。忠孝门风犹历目,穆昭赓续似同时。愿祈族望传家久,奕...
    林应心易阅读 398评论 0 1
  • 巫马鸢阅读 79评论 0 1
  • 大致分为这五种基本指法 一对一 最最基本的是一个手指头正对着一个键盘。五个手指就对应do、re、mi、fa、so五...
    ibluebox阅读 887评论 0 0