简体   繁体   中英

Bootstrap carousel not recognising slides over 10

I'm having a silly problem with a slightly customised Bootstrap carousel when it has more than 10 slides. The slides in double figures are not registering when you click the thumbnails?

<div class="col-md-12" id="slider">
  <div id="theGallery" class="carousel slide" data-ride="carousel" data-interval="false">
    <div class="carousel-inner">
      <div class="item active" data-slide-number="0">
        <div class="desc">
          <p>This is image 1</p>
        </div>
        <img src="slide-1.jpg" class="img-responsive"> </div>

      <!-- ... 2,3, 4 and so on -->

      <div class="item" data-slide-number="10">
        <div class="desc">
          <p>This is image 11</p>
        </div>
        <img src="slide-11.jpg" class="img-responsive"> </div>
    </div>
    <a class="left carousel-control" href="#theGallery" role="button" data-slide="prev"> <span>Previous</span> </a> <a class="right carousel-control" href="#theGallery" role="button" data-slide="next"> <span>Next</span> </a> </div>
</div>

<!-- Thumbnails -->
  <div class="thumbs hidden-sm hidden-xs">
    <div class="width-auto" id="slider-thumbs">
      <ul class="list-inline">
        <li> <a id="carousel-selector-0" class="selected"> <img src="slide-1.jpg" class="img-responsive"> </a></li>
        <!-- ... 2,3, 4 and so on -->
        <li> <a id="carousel-selector-10" class=""> <img src="slide-11.jpg" class="img-responsive"> </a></li>
      </ul>
    </div>
  </div>

$(document).ready(function() {
    $('#theGallery').carousel({
    interval: 4000
});

// handles the carousel thumbnails
$('[id^=carousel-selector-]').click( function(){
  var id_selector = $(this).attr("id");
  var id = id_selector.substr(id_selector.length -1);
  id = parseInt(id);
  $('#theGallery').carousel(id);
  $('[id^=carousel-selector-]').removeClass('selected');
  $(this).addClass('selected');
});

// when the carousel slides, auto update
$('#theGallery').on('slid', function (e) {
  var id = $('.item.active').data('slide-number');
  id = parseInt(id);
  $('[id^=carousel-selector-]').removeClass('selected');
  $('[id=carousel-selector-'+id+']').addClass('selected');
  });
});

Probably something really simple. Any help appreciated. Thanks in advance!

将基数添加到parseInt:

id = parseInt(id, 10);

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM