Qualcosa di simile creerà un loop continuo di carosello; lo farà scorrere tutte le schede e tornare alla prima dopo aver raggiunto l'ultimo (cambiare #yourTabWrapper
essere un apposito selettore per qualunque contiene la scheda markup):
var tabCarousel = setInterval(function() {
var tabs = $('#yourTabWrapper .nav-tabs > li'),
active = tabs.filter('.active'),
next = active.next('li'),
toClick = next.length ? next.find('a') : tabs.eq(0).find('a');
toClick.trigger('click');
}, 3000);
Tutto quello che stiamo facendo è trovare la scheda attiva , quindi attivando l'evento click
nella scheda successiva nell'elenco. Se è nessuna scheda successiva, attiviamo l'evento click
nella prima scheda. Si noti che l'evento è effettivamente attivato su a
, non su li
.
Ora, se si desidera aggiungere la logica per mettere in pausa o ripristinare l'intervallo quando l'utente si posiziona sopra o fa clic manualmente su una scheda, sarà necessario aggiungerlo separatamente e si utilizzerà clearInterval(tabCarousel)
per interrompere il ciclo.
Ecco una demo di base:
--- jsFiddle DEMO ---
Quale versione di Twitter Bootstrap stai usando? – Florent
Sto usando v.2.0.4. – closeyetfar