You could store the carousel index (i.e. 0, 1, ..., N - 1) in a sessionStorage
variable (e.g. carouselIndex
) when you click on it.
Then, when you return in the page, retrieve the carouselIndex
and assign to it the active
class.
HTML:
<div id="myCarousel" class="carousel slide" data-ride="carousel">
<ol class="carousel-indicators">
<li data-target="#myCarousel" data-slide-to="0" class="active"></li>
<li data-target="#myCarousel" data-slide-to="1"></li>
<!-- etc. -->
</ol>
<div class="carousel-inner" role="listbox">
<div class="item active" data-index="0">
<img src="img1.jpg" alt="First slide">
<div class="carousel-caption">First slide</div>
</div>
<div class="item">
<img src="img2.jpg" alt="Second slide">
<div class="carousel-caption">Second slide</div>
</div>
<!-- etc. -->
</div>
<a class="left carousel-control" href="#myCarousel" role="button" data-slide="prev">
<span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
<span class="sr-only">Previous</span>
</a>
<a class="right carousel-control" href="#myCarousel" role="button" data-slide="next">
<span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
<span class="sr-only">Next</span>
</a>
</div>
JS (with jQuery):
$(function() {
var carouselIndex = sessionStorage.getItem("carouselIndex");
if (!!carouselIndex) {
$("#myCarousel").carousel(carouselIndex);
}
$("#myCarousel .item").click(function() {
sessionStorage.setItem("carouselIndex", $(this).attr("data-id"));
});
});