繁体   English   中英

下一个和上一个按钮逐步浏览Bootstrap选项卡

Next and Previous buttons step through Bootstrap Tabs

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我正在尝试使一些“上一个”和“下一个”按钮逐步通过一些“ Bootstrap”选项卡窗格。

我读过一些文章,看起来似乎很接近,但并非完全符合我的期望。

其他示例似乎在寻找active导航选项卡,但是下一个和上一个按钮位于单独的选项卡容器中,而我试图使它们独立于它们位于导航容器中,因此该方法实际上不起作用。

到目前为止,我一直在使用.next()active类和show类添加到选项卡窗格中,但似乎将它们添加到所有选项卡窗格中,而不仅仅是将它们单独添加。 因此,如果我走对了路,或者有更简单的方法可以做到这一点,我不是100%? 好像有,我可能正对自己感到困难。

无论如何,这就是我到目前为止所拥有的...

Codepen链接: https ://codepen.io/ultraloveninja/pen/OBjmzy/

HTML:

<div class="container">

    <!-- Nav tabs -->
    <ul id="mytabs" class="nav nav-tabs" role="tablist">
      <li class="active">
          <a href="#first" role="tab" data-toggle="tab">
              <icon class="fa fa-home"></icon> First tab
          </a>
      </li>
      <li><a href="#second" role="tab" data-toggle="tab">
          <i class="fa fa-user"></i> Second tab
          </a>
      </li>
      <li>
          <a href="#third" role="tab" data-toggle="tab">
              <i class="fa fa-envelope"></i> Third tab
          </a>
      </li>
    </ul>

    <!-- Tab panes -->
    <div class="tab-content">
      <div class="tab-pane fade active in" id="first">
        <h2>First tab</h2>
      </div>
      <div class="tab-pane fade" id="second">
          <h2>Second tab</h2>
      </div>
      <div class="tab-pane fade" id="third">
          <h2>Third tab</h2>
      </div>
    </div>

  <a class="btn prev" href="#">Previous</a>
  <a class="btn next" href="#">Next</a>

</div>

JS:

$(function(){
  $('#mytabs a:first').tab('show');

  $('.next').on("click",function(e){
    var $this = $(this);
    if($(".tab-pane").hasClass("active")) {
      $('.tab-pane').next().addClass('show active');
      $this.prev().removeClass('show active');
      e.preventDefault();
    }
  });  
});

我认为,如果我可以逐步了解下一步,那么可以修改之前的步骤。

1 个回复

确定下来并询问周围之后,我发现了:

    $(".next").on("click", function(e) {
    const $active = $(".tab-pane.active");
    const $next = $active.next();

    if ($next.length) {
      $active.removeClass("active show");
      $next.addClass("active show");
    }
    e.preventDefault();
  });

  $(".prev").on("click", function(e) {
    const $active = $(".tab-pane.active");
    const $prev = $active.prev();

    if ($prev.length) {
      $active.removeClass("active show");
      $prev.addClass("active show");
    }
    e.preventDefault();
  });

最大的事情是,您需要确保在保存选项卡窗格的div 之外具有上一个和下一个按钮。 否则,它将继续下滑。

这是我整理的一支非常精致的笔,以帮助说明我要实现的目标:

https://codepen.io/ultraloveninja/pen/OBjmzy

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题
 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM