2012-02-13 125 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); 
    }); 
}); 
});