2012-02-13 120 views
0

我在使用Twitter Bootstrap Carousel插件的.carousel(number)方法时遇到问题。不知何故,我无法得到它的工作。传送带本身已启动并正在运行,.carousel('next')方法也是如此。Twitter Bootsrap Carousel .carousel(数量)不起作用

$('#carousel-nav a').click(function(q){ 
q.preventDefault(); 
targetSlide = $(this).attr('data-to'); 
//this one doesn't work $('#my-carousel').carousel(targetSlide); 
$('#my-carousel').carousel('next'); 
}); 

这里是标记

<ul id="carousel-nav" class="nav nav-tabs nav-stacked"> 
    <li><a href="#my-carousel" data-to="0" >Slide 1</a></li> 
    <li><a href="#my-carousel" data-to="1" >Slide 2</a></li> 
    <li><a href="#my-carousel" data-to="2" >Slide 3</a></li> 
</ul> 

任何线索?先谢谢你。

回答

1

这些数字是基于数组的形式。试试这个:


    var targetSlide = $(this).attr('data-to') -1; 

我刚从targetSlide变量中减去1。它为我工作。

+0

是的,它工作:D。 – ifdion 2012-02-15 03:09:41

0

改变了标记以:

<ul id="carousel-nav" class="nav nav-tabs nav-stacked"> 
    <li><a href="#my-carousel" data-to="1" >Slide 1</a></li> 
    <li><a href="#my-carousel" data-to="2" >Slide 2</a></li> 
    <li><a href="#my-carousel" data-to="3" >Slide 3</a></li> 
</ul> 

和脚本(感谢@ user1209713):

$('#carousel-nav a').click(function(q){ 
    q.preventDefault(); 
    targetSlide = $(this).attr('data-to')-1; 
    $('#my-carousel').carousel(targetSlide); 
}); 

和它的作品

1

真正的问题是,你必须解析为int

targetSlide = parseInt($(this).attr('data-to')); 
0

parseInt为我工作感谢@ stalin,如果您想要运行操作,请在回调中单独执行以获得更好的结果。

$('#carousel-nav a').click(function(){ 
var targetSlide = parseInt($(this).attr('data-cigar')); 
$('#someElement').fadeOut('fast',function(){ 
    $('#otherElement').fadeIn('fast', function(){ 
    $('#my-carousel').carousel(targetSlide); 
    }); 
}); 
});