2015-11-07 11 views

risposta

3

Questo risolve il problema

$('.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

0

recente ho bisogno di questa funzionalità e questo è ciò che ho finito con:

$('.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) { 
 
\t e.preventDefault(); 
 
\t $(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>

+0

le schede non sono cliccabili più qui. – herrh

+0

@herrh Non ho incluso il normale codice di tabulazione nel mio esempio, mi dispiace. L'ho aggiunto sopra così puoi vederlo funzionare con l'uso normale – DelightedD0D

+0

grazie per quella soluzione – herrh

0

Sto utilizzando la soluzione fornita da @ DelightedD0D. Quando la pagina si carica, il controllo si ferma sempre sull'ultima scheda. Se si vuole risolvere il problema, si prega di aggiornare la seguente funzione

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

a

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

usando il codice @ DelightedD0D, come fermarlo nell'ultima scheda? e impedire che torni all'ultima scheda, quando si fa clic su Ultimo pulsante nella prima scheda? qualche idea? –

Problemi correlati