繁体   English   中英

带有缩略图的引导轮播

[英]Bootstrap carousel with thumbnail

我有一个带有html内容显示滑动的自举轮播。

这里的问题是,它可以正常工作到第9个缩略图,但是当单击第11和第12个缩略图时,它会滑回到第一个内容框,而不是各自的ID。

这是使用的脚本

$('#myCarousel').carousel({
              pause: true,
              interval: false
            });

            // 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);
              $('#myCarousel').carousel(id);
              $('[id^=carousel-selector-]').removeClass('selected');
              $(this).addClass('selected');
            });

            $('#myCarousel').bind('slide.bs.carousel', function (e) {
              var slideFrom = $(this).find('.active').index();
              var videoContent = $('.item[data-slide-number='+slideFrom+'] .embed-responsive');
              videoContent.html( videoContent.html() );
            });

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

任何帮助表示赞赏!

演示

采用:

var parts = id_selector.split("-");
var id = parts[parts.length - 1]

代替

var id = id_selector.substr(id_selector.length -1);

因为如果选择10 ,则只会获得id最后一个字符,即0

相反,我在-之后输入了最后一个字/值。

工作小提琴

在这条线

var id = id_selector.substr(id_selector.length -1);

您说的是id_selector.length-1,它将始终给出id_selector的最后一个字符,因此,在id_selector_10情况下,您将id设为0,而id_selector_11也是如此。

如果将其替换为以下代码,它将可以正常工作。

var idIndex = id_selector.lastIndexOf('-') + 1;// Get the index of character where digit starts
var id = id_selector.substr(idIndex); //Get id from that index

更新的演示

将以下行从

var id = id_selector.substr(id_selector.length -1);
id = parseInt(id);

为此: (id_selector.length-2)

var id = id_selector.substr(id_selector.length -2);
id = parseInt(id);

您唯一要做的就是像这样重新编号整个轮播ID

<li> <a id="carousel-selector-00" class="selected">
<li> <a id="carousel-selector-01">
<li> <a id="carousel-selector-02">
<li> <a id="carousel-selector-03">
<li> <a id="carousel-selector-04">............

这样应该可以解决您的问题! 该长度已被采用并减去1。但是现在,由于要减去2个字符才能找到ID,因此您将得到00和01,然后到11和12。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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