为了账号安全,请及时绑定邮箱和手机立即绑定

jquery隐藏/显示子菜单,同时保持第一个子菜单与主菜单一起活动

jquery隐藏/显示子菜单,同时保持第一个子菜单与主菜单一起活动

肥皂起泡泡 2024-01-11 16:40:24
我有一个带有三个菜单及其消息的导航栏。我正在主菜单单击上实现显示/隐藏消息。我能够使第一个菜单处于活动状态并显示/隐藏消息,但是如何使第一条消息处于活动状态(显示默认值及其菜单),这就是我遇到的问题。我的 HTML 是<ul class="nav justify-content-center ">  <li class="nav-item active main-menu">    <a class="nav-link " href="#">Mango</a>    <div class="msg active">      <p class="position">You selected Mango</p>    </div>  </li>  <li class="nav-item  main-menu">    <a class="nav-link " href="#">Banana</a>    <div class="msg">      <p class="position">You selected Banana</p>    </div>  </li>  <li class="nav-item main-menu">    <a class="nav-link " href="#">Grapes</a>    <div class="msg ">      <p class="position">You selected Grapes</p>    </div>  </li></ul>JavaScript 是://add remove class$(".nav li").on("click", function() {  $(".nav li, .nav li a").removeClass("active");  $(this).addClass("active");})//show hide message$(".main-menu .msg ").hide();$(".main-menu a").click(function() {  $(".main-menu .msg").hide('fast');  $(this).parent().find("div").toggle("fast");})在这种情况下,第一个菜单处于活动状态,而消息仅在单击时显示。如何使第一条消息处于活动状态或如何默认显示第一条消息及其菜单。
查看完整描述

1 回答

?
跃然一笑

TA贡献1826条经验 获得超6个赞

根据你的问题,我的理解是,


您希望第一个菜单在第一次加载时打开,如果是您需要的情况,您需要稍微更改一下,从 jQuery 代码中删除隐藏行,并通过在其上应用 css 使 msg div 消失。然后仅在第一个 msg div 上添加 active 类,并使其仅通过 CSS 可见。


//add remove class

           $(".nav li a").on("click",function(){

         

             $(".nav li a").removeClass("active");

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

             

              $(".nav li a").not(this).next().slideUp();

              $(this).next().slideToggle();

           });

.msg {

  display: none;

}

.msg.active {

  display: block;

}

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<ul class="nav justify-content-center ">

                <li class="nav-item active main-menu">

                  <a class="nav-link active" href="#">Mango</a>

                  <div class="msg active"><p class="position">You selected Mango</p></div>

                </li>                 

                <li class="nav-item active main-menu">

                  <a class="nav-link " href="#">Banana</a>

                  <div class="msg"><p class="position">You selected Banana</p></div>

                </li>

                <li class="nav-item active main-menu">

                  <a class="nav-link " href="#">Grapes</a>

                  <div class="msg"><p class="position">You selected Grapes</p></div>

                </li></ul>


查看完整回答
反对 回复 2024-01-11
  • 1 回答
  • 0 关注
  • 39 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信