首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用两个类切换导航

使用两个类切换导航
EN

Stack Overflow用户
提问于 2019-03-19 05:45:35
回答 1查看 35关注 0票数 0

如何使用class +或- on切换来构建切换li元素,而子菜单是显示而不是显示。

代码语言:javascript
复制
$(document).ready(function() {
  $(".sub-menu").hide();
  $(".sub-menu").parent('li').addClass('active');
  $(".sub-menu").parent('li').click(function() {
    $(".sub-menu").toggle("slow", function() {
      if ($(this).is(':visible')) {
        $(".sub-menu").parent('li').addClass('unactive');
      } else {
        $(".sub-menu").parent('li').addClass('active');
      }
    });
  });
});
代码语言:javascript
复制
.active::before {
  content: '+';
}

.noactive::before {
  content: '-';
}
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul>
  <li>Item1</li>
  <li>Item2
    <ul class="sub-nav">
      <li>Item2a</li>
      <li>Item2b</li>
    </ul>
  </li>
</ul>

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-19 11:14:11

首先,您在类命名中有一个拼写错误,但它不能解决问题,因为最后一个css类更强大,一旦它被分配,它就不会在下一次单击时改变。尝试使用span元素而不是此处的类:

代码语言:javascript
复制
<ul>
<li>Item1</li>
<li><span>+</span>Item2
    <ul class="sub-menu">
        <li>Item2a</li>
        <li>Item2b</li>
    </ul>
</li>

然后,您可以使用.text()函数在单击时更改其值:

代码语言:javascript
复制
    $(document).ready(function() {
    $(".sub-menu").hide();

    $(".sub-menu").parent('li').click(function() {
        $(".sub-menu").toggle("slow", function() {
            if ($(this).is(':visible')) {
                $("span").text('-');
            } else {
                $("span").text('+');
            }
        });
    });
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55230475

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档