【问题标题】:Toggling Navigation Icon Back切换导航图标返回
【发布时间】:2016-11-17 21:31:02
【问题描述】:

我正在构建一个下拉导航菜单,并尝试使用在单击菜单项时来回切换的图标。我已经能够将它达到图标将切换的点,但是我所拥有的麻烦就是选择另一个下一个菜单选项时,我无法让前一个图标切换回来。

因此,例如,当单击第一个选项时,加号变为减号,这很好。但是当我点击第二个选项时,我似乎无法弄清楚如何让第一个选项返回到 plus。

$('#category-tabs li a').click(function() {
  $(this).find('i').toggleClass('fa-plus-circle fa-minus-circle');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.0.3/css/font-awesome.css" rel="stylesheet"/>


<nav class="navbar navbar-inverse">
  <div class="container-fluid" id="category-tabs">
    <ul class="nav navbar-nav">
      <li class="dropdown"><a class="dropdown-toggle" data-toggle="dropdown" href="javscript:void(0);">Category 1   <i class="fa fa-plus-circle"></i></a>
        <ul class="dropdown-menu">
          <li><a href="#">Option 1</a></li>
          <li><a href="#">Option 2</a></li>
          <li><a href="#">Option 3</a></li>
        </ul>
      </li>
      <li class="dropdown"><a class="dropdown-toggle" data-toggle="dropdown" href="javscript:void(0);">Category 2   <i class="fa fa-plus-circle"></i></a>
        <ul class="dropdown-menu">
          <li><a href="#">Option 1</a></li>
          <li><a href="#">Option 2</a></li>
          <li><a href="#">Option 3</a></li>
        </ul>
      </li>
      <li class="dropdown"><a class="dropdown-toggle" data-toggle="dropdown" href="javscript:void(0);">Category 3   <i class="fa fa-plus-circle"></i></a>
        <ul class="dropdown-menu">
          <li><a href="#">Option 1</a></li>
          <li><a href="#">Option 2</a></li>
          <li><a href="#">Option 3</a></li>
        </ul>
      </li>
    </ul>
  </div>
</nav>

Here is the fiddle 如果有帮助的话。

感谢您查看此内容,我对此很陌生,可以使用我能获得的所有帮助。

【问题讨论】:

    标签: javascript html drop-down-menu navigation font-awesome


    【解决方案1】:

    只需删除减号图标并添加加号图标:

    $('#category-tabs li a').click(function() {
      var $icon = $(this).find('i');
      var isOpen = $icon.hasClass('fa-minus-circle');
      $("#category-tabs").find('i').removeClass('fa-minus-circle').addClass('fa-plus-circle');
      if (isOpen) {
        $icon.removeClass().addClass('fa fa-plus-circle');
      } else {
        $icon.removeClass().addClass('fa fa-minus-circle');
      } 
    

    });

    工作小提琴:http://fiddle.jshell.net/zcqrmn66/17/

    【讨论】:

    • 完美!非常感谢!
    • 很高兴能帮上忙,如果您不介意,请接受答案。
    猜你喜欢
    • 1970-01-01
    • 2016-10-24
    • 1970-01-01
    • 2016-11-16
    • 1970-01-01
    • 2021-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多