How to jump to a specific item in Bootstrap's Carousel?

Elijah Yang picture Elijah Yang · Feb 1, 2013 · Viewed 23.7k times · Source

Using Bootstrap's Carousel, I want to be able to click on a link and jump to a specific slide in the carousel. How do I do that? What jquery do I have to add?

Here's my html (it doesn't work but gives you a sense of what I want to do):

<a href="#panel">Panel</a>

<div id="myCarousel" class="carousel slide">
 <div class="carousel-inner">
  <div id="panel" class="item">
...
  </div>
 </div>
</div>

Answer

David Fregoli picture David Fregoli · Feb 1, 2013

if your links are in the same order of the panels you can do something like:

$('.link').on('click', function() {
    $('#carousel').carousel($(this).index());
});

if you just have a single link just hardcode it:

var i = 2; //index of the panel    
$('#link').on('click', function() {
    $('#carousel').carousel(i);
});

from the docs:

Methods:

carousel(options)

Initializes the carousel with an optional options object and starts cycling through items.

$('.carousel').carousel({
  interval: 2000
})
.carousel('cycle')

Cycles through the carousel items from left to right.

.carousel('pause')

Stops the carousel from cycling through items.

.carousel(number)

Cycles the carousel to a particular frame (0 based, similar to an array).

.carousel('prev')

Cycles to the previous item.

.carousel('next')

Cycles to the next item.