Bootstrap Carousel Next / Prev不工作

时间:2013-01-22 01:50:01

标签: javascript twitter-bootstrap carousel

我正在使用Twitter Bootstrap Carousel,虽然我对.js不是很熟悉,不知何故,我的工作正常。

唯一的问题是next / prev按钮工作方式很奇怪。

这是我的临时网站: http://tokyo-flaneur.com/dl/donner/contents/menu.html

虽然我有10张图片,但是点击下一个按钮我无法进入10号。在第三张图像之后,当我点击下一个按钮时,图像将返回到No.2。

此外,无论我看到哪个图像,当我点击上一个按钮时,它会一直回到No.1。

任何人都可以帮助我或指导我走向正确的方向吗?任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:3)

您使用自己的处理程序处理滑块的下一个/上一个按钮,因此它会滑动到第二个元素第一个,而不是尝试进行next()

取代:

$("#myCarousel a").click(function(e){ 
    var index = $(this).index(); 
    //when hitting NEXT button index always 2, for PREV - 0
    slider.carousel(index); 
    e.preventDefault(); 
}); 

$("#myCarousel .slider-pager a").click(function(e){ 
    var index = $(this).index(); 
    slider.carousel(index); 
    e.preventDefault(); 
}); 

在你的onpage脚本

答案 1 :(得分:0)

对于此问题的未来访问者:

使用属性data-interval="false"(Bootstrap 3.3.5):

<div id="myCarousel" class="carousel slide" data-ride="carousel" data-interval="false">

以下是Bootstrap 3中其他支持的轮播选项:

http://getbootstrap.com/javascript/#carousel-usage

早期版本:

jsFiddle Example

<div id="myCarousel" class="carousel slide text-center" data-ride="carousel">
    <ol class="carousel-indicators">
        <li data-target="#myCarousel" data-slide-to="0" class="active"></li>
        <li data-target="#myCarousel" data-slide-to="1"></li>
    </ol>
    <div class="carousel-inner" role="listbox">
        <div class="item active">
            <h4>A mind-bending lecture on applied philosophy by Oxford lecturer Ravi Zacharias.</h4>
            <br>
            <span class="font-normal">youtube/watch?v=3ZZaoavCsYE</span>
        </div>
        <div class="item">
            <h4>Director of the Human Genome Project discusses the greatest mystery of life</h4>
            <br>
            <span class="font-normal">youtube/watch?v=EGu_VtbpWhE</span>
        </div>
    </div>

    <a href="" class="left carousel-control" href="#myCarousel" role="button" data-slide="prev">
        <span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
        <span class="sr-only">Previous</span>
    </a>
    <a href="" class="right carousel-control" href="#myCarousel" role="button" data-slide="next">
        <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
        <span class="sr-only">Next</span>
    </a>
</div><!-- #myCarousel -->

<script>
    $(function(){

        $('.carousel-control').click(function(e){
            e.preventDefault();
            $('#myCarousel').carousel( $(this).data() );
        });

    });//END document.ready
</script>

注意:此答案需要jQuery,因此请确保已加载库。当然,bootstrap需要jQuery,所以你应该已经引用它。