javascript - 具有不同 div id 的 jQuery 多个切换按钮

标签 javascript jquery tabbed

我有 4 个不同的 div 和 4 个按钮,我正在尝试使用 jQuery 创建一个选项卡式内容,但我无法让它正常工作。所以,我使用了 data-tab 属性。

jsfiddle.net

jQuery(document).ready(function() {
jQuery('#tabInteract .buttons a').click(function() {
  var index = jQuery(this).index();
  if(jQuery(this).hasClass('active')) {
    jQuery(this).removeClass('active');
     jQuery('#' + jQuery(this).data('tab')).toggleClass(true);
  } else {
      jQuery('#tabInteract .buttons a').removeClass('active');
    jQuery(this).addClass('active')
    jQuery('#' + jQuery(this).data('tab')).toggleClass(true);
  }
})
});

当我点击下一个按钮时,它不会关闭上一个 div。

最佳答案

要实现此行为,您需要切换事件按钮及其相关选项卡的状态,同时隐藏所有其他选项卡并从其他按钮中删除事件类。试试这个:

$('#tabInteract .buttons a').click(function() {
  var $button = $(this).toggleClass('active');
  $('#tabInteract .buttons a').not($button).removeClass('active');

  var $tab = $('#' + $(this).data('tab')).toggle();
  $('.closable_box').not($tab).hide();
})
a {
  display: inline;
  margin: 5px;
  color: #000;
}
a.active {
  color: red;
}
.closable_box {
  display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="tabInteract">
  <div class="buttons">
    <a data-tab="sports" href="#">Button A</a>
    <a data-tab="cars" href="#">Button B</a>
    <a data-tab="fruits" href="#">Button C</a>
    <a data-tab="cats" href="#">Button D</a>
  </div>
</div>

<div class="closable_box" id="sports">
  Sports
</div>
<div class="closable_box" id="cars">
  Cars
</div>
<div class="closable_box" id="fruits">
  Fruits
</div>
<div class="closable_box" id="cats">
  Cats
</div>

关于javascript - 具有不同 div id 的 jQuery 多个切换按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42108236/

相关文章:

javascript - .before 方法添加意外的关闭标签

javascript - 函数 numberIsEven if 语句

javascript - 防止自定义 jQuery 图像轮播中的事件重叠

javascript - 从kendo UI DataSource获取原始数据

javascript - MaterializeCSS 中带有复选框的可折叠标题

javascript - 在下划线中连接两个数组的最佳方法

Jquery UI 拖/放,一个 div 可以工作,另一个则不能。怎么修?

view - 在 SwiftUI 中,如何将选项卡放在 View 顶部的 TabbedView 中?

java - 转到另一个选项卡时,选项卡式 android 应用程序崩溃(android -> java -> android studio)

django - 需要 "starting point"提示将 "tabbed"接口(interface)添加到 Django admin