请问下导航栏按钮之间的切换用jquery咋实现的

请问下导航栏按钮之间的切换用jquery咋实现的

http://img1.sycdn.imooc.com//climg/5aa8d4e90001d90404370054.jpg比如我点击免费课程,它的颜色就加深,其他的颜色就恢复正常,相反,我点击职业路径,职业路径颜色加深,免费课程的颜色就变浅

正在回答

登陆购买课程后可参与讨论,去登陆

5回答

帮你写了一个小demo,供参考

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

    <title>Document</title>

    <style type="text/css">

        *{

            margin:0;

            padding: 0;

            list-style: none;

        }

        ul{

            width:500px;

            height:100px;

            background: #ccc;

        }

        li{

            float: left;

            padding: 0 20px;

            line-height: 100px;

        }

        .active{

            color:red;

        }

    </style>

</head>

<body>

    <ul>

        <li class="active">免费课程</li>

        <li>职业路径</li>

        <li>实战</li>

    </ul>

</body>

<script type="text/javascript" src="./jquery-3.2.1.min.js"></script>

<script type="text/javascript">

    $("li").each(function(index,item){

        $(item).click(function(){

             $(this).addClass("active");

            $(this).siblings().removeClass("active");

        })

       

    })

</script>

</html>


  • 慕粉3125272 提问者 #1
    非常感谢!哇瑟,这么厉害啊
    2018-03-14 16:21:15
  • 慕粉3125272 提问者 #2
    大神啊,厉害,厉害,棒棒棒
    2018-03-14 16:25:36
  • 慕粉3125272 提问者 #3
    我要是在li元素之外包裹一个<span>标签,那咋找兄弟元素?
    2018-03-14 17:41:22
怎么都被占用了呢 2018-03-14 18:44:09

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

    <title>Document</title>

    <style type="text/css">

        *{

            margin:0;

            padding: 0;

            list-style: none;

        }

        ul{

            width:500px;

            height:100px;

            background: #ccc;

        }

        li{

            float: left;

            padding: 0 20px;

            line-height: 100px;

        }

        .active{

            color:red;

        }

    </style>

</head>

<body>

    <ul>

        <span><li class="active">免费课程</li></span>

        <span><li>职业路径</li></span>

        <span><li>实战</li></span>

    </ul>

</body>

<script type="text/javascript" src="./jquery-3.2.1.min.js"></script>

<script type="text/javascript">

    $("li").each(function(index,item){

        $(item).click(function(){

             $(this).addClass("active");

            $(this).parent().siblings().children().removeClass("active");

        })

       

    })

</script>

</html>


怎么都被占用了呢 2018-03-14 18:18:19

先找父级,通过找父级的同辈元素,再获取它们的子元素。还有li是块元素,span是内联元素,你这样嵌套,是不规范的。

  • 提问者 慕粉3125272 #1
    ????jquery代码咋写
    2018-03-14 18:37:45
一路电光带火花 2018-03-14 17:55:31

一样的啊,换成span不就行了么

http://img1.sycdn.imooc.com//climg/5aa8f190000147e812200927.jpg

你自己试试呗

  • 提问者 慕粉3125272 #1
    不对的,因为我想对li做操作,这样的话只是对span做操作了
    2018-03-14 18:11:07
提问者 慕粉3125272 2018-03-14 17:40:42

我要是在li元素之外包裹一个<span>标签,那咋找兄弟元素?

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
前端小白入门系列课程
  • 参与学习           人
  • 提交作业       11218    份
  • 解答问题       36713    个

从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师