jquery实现简单的导航栏切换效果($(this).index)

Posted ygtq

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jquery实现简单的导航栏切换效果($(this).index)相关的知识,希望对你有一定的参考价值。

  一个简单的导航栏切换效果的制作,主要通过索引值和jquery的siblings()来实现

 html代码:

<div class="container">
    <ul class="top-nav">
        <li class="nav">html</li>
        <li class="nav">css</li>
        <li class="nav">javascript</li>
    </ul>
    
    <ul class="bottom-content">
        <li class=content>html是基础</li>
        <li style="display: none" class="content">css也是基础</li>
        <li style="display: none" class="content">javascirpt是进阶</li>
    </ul>
</div>

  css代码(自己随便写的样式,大家可以自由发挥):

        *{
        margin: 0;
        padding: 0;
    }
    li{
        list-style: none;
        display: inline-block;
    }
    .container{
        width: 240px;

    }
    .top-nav{
        font-size: 0;
    }
    .nav{
        width: 80px;
        height: 30px;
        line-height: 30px;
        font-size: 16px;
        font-family: "微软雅黑";
        text-align: center;
        cursor: pointer;
    }
    .nav:hover{
        background-color: #CC6699;
        color:#fff;
    }
    .content{
        width: 240px;
        text-align: center;
    }    

  js代码(要记得先引入jquery哦):

$(‘.nav‘).click(function(){
$(
this).parent().next().children().eq($(this).index()).show().siblings().hide();
})
//通过$(this)找到点击的DOM元素
//通过parent(),next()这些选择器找到要实现显示隐藏的元素的父元素
//通过children().eq(
$(this).index())来用索引进行控制,$(this).index()就是你点击元素的索引,只要把元素一一对应就好了
//通过jquery的.show()方法显示对应的元素
//通过.sibling()找到同级的兄弟元素,进行隐藏

tips:你也可以用addClass()和removeClass()给对应的元素加上一个类,实现想要的效果

  以上方法对于一般的场景应该足够使用,如果层级关系过于复杂就不推荐使用了

以上是关于jquery实现简单的导航栏切换效果($(this).index)的主要内容,如果未能解决你的问题,请参考以下文章

简单的jquery左侧导航栏和页面选中效果

两个JS,网页导航栏和图片切换冲突,导航栏用Jquery 是否因为函数名$ 冲突 怎么改?

js如何实现点击导航栏后相应导航栏实现选中效果的切换

Android Jetpack Compose——一个简单的微信界面

Bootstrap / jQuery:在导航栏中滑动“活动”状态

jquery实现简易大气3D导航下拉菜单菜单栏效果