[英]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.