2013-04-24 50 views
0

使用下面的代码,当我点击MY BUTTON时,会显示项目编号3。通过其Id而不是索引来滑动项目 - .carousel(索引号)

$('#myButton').click(function() { 
    $('#myCarousel').carousel(3); 
}); 

-

<div id="myCarousel" class="carousel slide"> 
    <div class="carousel-inner"> 
     <div class="active item">0</div> 
     <div class="item">1</div> 
     <div class="item">2</div> 
     <div id="myItem3" class="item">3</div> 
    </div> 
    <!-- Carousel nav --> 
    <a class="carousel-control left" href="#myCarousel" data-slide="prev">&lsaquo;</a> 
    <a class="carousel-control right" href="#myCarousel" data-slide="next">&rsaquo;</a> 

    <a id="myButton">MY BUTTON</a> 
</div> 

有没有办法通过他的身份证显示的项目,不是他的指数?

服用点这样的:

$('#myButton').click(function() { 
    $('#myCarousel').carousel($('#myItem3')); 
}); 

回答

2

你可以做类似$("#myItem4").prevAll("div").length + 1

这将让以前所有的兄弟姐妹,指望他们,并添加1 ...在它获得它自己的指数是兄弟姐妹

编辑:我刚刚发现一些文档,并且旋转木马具有从0开始的索引。我假设它是基于1的,因为你说.carousel(4)带你到了第4项。由于它是基于0的,请删除+ 1 ...

$('#myButton').click(function() { 
    $('#myCarousel').carousel($("#myItem4").prevAll("div").length); 
}); 
+1

非常聪明的解决方案!它的工作原理假定轮播js根据div内的子级的顺序分配(1,2,3,..)索引。 – 2013-04-24 01:35:36