【问题标题】:jQuery Boostrap Carousel Show content according to current slidejQuery Bootstrap Carousel 根据当前幻灯片显示内容
【发布时间】:2015-05-20 21:00:53
【问题描述】:

我正在使用引导 jquery 轮播来滑动内容。我在轮播下面也有一些内容。此内容应根据显示的幻灯片隐藏/显示。

由于 bootstrap 在当前幻灯片上使用 active,我编写了下面的代码。 现在这在我使用箭头时有效。但是,如果我在下一个和上一个使用键盘箭头,或者当幻灯片自动播放时,内容不会相应地显示/隐藏。

jQuery:

    $('#success-stories .carousel-control.left, #success-stories .carousel-control.right').click(function() {
        if ( $('#success-stories .item1').hasClass("active") ) {
            $('.success1').removeClass("active"); 
            $('.success2').addClass("active"); 
        }
        if ( $('#success-stories .item2').hasClass("active") ) {
            $('.success2').removeClass("active"); 
            $('.success1').addClass("active"); 
        }

    });

谢谢

【问题讨论】:

标签: javascript jquery twitter-bootstrap


【解决方案1】:

有很多方法可以实现这一点。根据您运行的引导程序版本,您可以使用slidslideslide.bs.carousel

3 之前的引导版本

你可以试试这个(取决于你运行的是什么版本的引导程序),使用 slid 函数,它会检测滑动事件何时完成:

$("#myCarousel").carousel()
 $("#myCarousel").bind("slid", function(){
    $currentActive = $("#myCarousel .active").attr('id');
       if($currentActive == "item1"){
           //then show something
       }else if(...){....}
  })

使用幻灯片和幻灯片事件,您可以找到当前幻灯片和下一张幻灯片/目标幻灯片,此解决方案尚未经过测试,但应该可以正常工作。

$('.carousel').on('slide',function(e){
    var slideFrom = $(this).find('.active').index();
    var slideTo = $(e.relatedTarget).index();
    if(slideTo == 1){
       //do something for item one, realise here i am working with indexes
    }
});

在引导程序 3 中:

$('#myCarousel').on('slide.bs.carousel', function (e) {
  //according to the documentation this event is fired when the slide method is invoked

    var slideFrom = $(this).find('.active').index();
    var slideTo = $(e.relatedTarget).index();
    if(slideTo == 1){
       //do something for item one, realise here i am working with indexes
    }
})

更新

为什么不给你的成功内容的孩子 div id,而不是使用类来识别他们,而是使用他们各自的 id。
例如:

 <div id="success-content">
                <div class="success1 active" id="successOne">
                    <h4 class="rounded-heading">Eleanor's Story</h4>
                    <p>
                        <span class="quote-start"></span>
                             Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 BC, making it over 2000 years old. Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source. comes from a line in section 1.10.32.
                        <span class="quote-finish"></span>
                    </p>
                    <p>
                        Isobel Leeds)
                    </p>
                    <p>
                        All case studies are genuine photographs and un-retouched case studies of our own patients treated in our own clinics. (Reproduced with their consent)
                    </p>

                </div><!-- end success1 -->
                <div class="success2" id="successTwo">
                    <h4 class="rounded-heading">Melsor's Story</h4>
                    <p>
                        <span class="quote-start"></span>
                             Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 BC, making it over 2000 years old. Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source. comes from a line in section 1.10.32.
                        <span class="quote-finish"></span>
                    </p>
                    <p>
                        Isobel Leeds)
                    </p>
                    <p>
                        All case studies are genuine photographs and un-retouched case studies of our own patients treated in our own clinics. (Reproduced with their consent)
                    </p>
                </div>              
            </div><!-- end success-content -->

        </div><!-- end success-stories -->

【讨论】:

  • 感谢简洁明了的解释。你就是男人!
猜你喜欢
  • 2014-01-25
  • 2013-10-01
  • 1970-01-01
  • 2023-01-10
  • 2014-08-20
  • 1970-01-01
  • 2013-11-24
  • 1970-01-01
  • 2013-02-05
相关资源
最近更新 更多