Bootstrap:下一个按钮应显示下一个选项卡

时间:2015-11-07 04:40:17

标签: javascript jquery html css twitter-bootstrap

我想在bootstrap标签导航中实现自定义下一个按钮。

单击下一个按钮时,下一个选项卡应显示为活动状态。 如果到达最后一个选项卡,它应该从第一个选项卡开始。

Bootply snippet

3 个答案:

答案 0 :(得分:3)

这可以解决您的问题

$('.next-tab').click(function(e){
  if($('.nav-tabs > .active').next('li').hasClass('next-tab')){
    $('.nav-tabs > li').first('li').find('a').trigger('click');
  }else{
    $('.nav-tabs > .active').next('li').find('a').trigger('click');
  }
  e.preventDefault();
});

http://www.bootply.com/XYpxMIgink

答案 1 :(得分:0)

我最近需要这个功能,这就是我最终的目标:



$('.change-tab').click(function() {
  var $this = $(this);
  var $nav = $($this.data('target'))
  var $tabs = $nav.find('li');
  var $curTab = $tabs.filter('.active');
  var cur = $tabs.index($curTab);
  if ($this.data('direction') == 'next') var $showTab = cur == $tabs.length - 1 ? $tabs.eq(0).find('a') : $tabs.eq(cur + 1).find('a');
  else var $showTab = cur == 0 ? $tabs.eq($tabs.length - 1).find('a') : $tabs.eq(cur - 1).find('a');
  $showTab.tab('show');
});



// normal tabs code
$('#myTab a').click(function (e) {
	 e.preventDefault();
	 $(this).tab('show');
});

$(function () {
$('#myTab a:last').tab('show');
})

<link href="https://netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" rel="stylesheet" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js"></script>
<div class="container">
  <ul class="nav nav-tabs" id="myTab">
    <li class="active"><a href="#home">Home</a>
    </li>
    <li><a href="#profile">Profile</a>
    </li>
    <li><a href="#messages">Messages</a>
    </li>
    <li><a href="#settings">Settings</a>
    </li>
  </ul>

  <div class="tab-content">
    <div class="tab-pane active" id="home">Home content...</div>
    <div class="tab-pane" id="profile">Content here...</div>
    <div class="tab-pane" id="messages">Messages...</div>
    <div class="tab-pane" id="settings">Settings...</div>
  </div>
</div>


<div class="row">
  <div class="col-md-12">
    <div class="btn-toolbar pull-right">
      <div class="btn-group">
        <button class="btn btn-default change-tab" data-direction="previous" data-target="#myTab"><span class="glyphicon glyphicon-arrow-left" aria-hidden="true"></span> Last</button>
        <button class="btn btn-default change-tab" data-direction="next" data-target="#myTab">Next <span class="glyphicon glyphicon-arrow-right" aria-hidden="true"></span>
        </button>
      </div>
    </div>
  </div>
</div>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

我正在使用@ DelightedD0D提供的解决方案。当页面加载时,控件始终在最后一个选项卡上停止。如果您想解决此问题,请更新以下功能

$(function () {
$('#myTab a:last').tab('show');
})

$(function () {
$('#myTab a:active').tab('show');
})