如何在 Bootstrap 中向轮播幻灯片添加/删除“上一个”和“下一个”类?

Posted

技术标签:

【中文标题】如何在 Bootstrap 中向轮播幻灯片添加/删除“上一个”和“下一个”类?【英文标题】:How to Add/remove 'prev' and 'next' classes to carousel slides in Bootstrap? 【发布时间】:2014-08-27 17:32:16 【问题描述】:

我正在尝试使用 CSS 将上一张和下一张幻灯片放置在 Bootstrap Carousel 中,但 Bootstrap.js(版本 3.1.1)似乎只是非常短暂地将 prevnext 类添加到相邻幻灯片之前剥离它们并添加 active 类(取决于您滑动的方式)。为了定位上一张和下一张幻灯片(而不是序列中的其他幻灯片),我想将next 类添加到下一张幻灯片,并将“prev”类添加到与当前幻灯片相关的上一张幻灯片并保留它们直到幻灯片改变:

Here is the example I'm basing it off,这里是使用的 javascript

<script>
 $(document).ready(function()   
     $("#myCarousel").swiperight(function()   
          $(this).carousel('prev');  
            );  
       $("#myCarousel").swipeleft(function()   
          $(this).carousel('next');  
   );  
);  
</script>

正确的行为如下(注意 prevactivenext 类的移动:

<div id="myCarousel" class="carousel slide">

<!-- Wrapper for slides -->
<div class="carousel-inner">
 <div class="item active">
   Slide 1
 </div>
 <div class="item next">
   Slide 2
 </div>
 <div class="item">
   Slide 3
 </div>
 <div class="item">
   Slide 4
 </div>
</div>
</div>

应该变成:

<div id="myCarousel" class="carousel slide">

<!-- Wrapper for slides -->
<div class="carousel-inner">
 <div class="item prev">
   Slide 1
 </div>
 <div class="item active">
   Slide 2
 </div>
 <div class="item next">
   Slide 3
 </div>
 <div class="item">
   Slide 4
 </div>
</div>
</div>

有什么想法吗?

【问题讨论】:

【参考方案1】:

这是一个简单的 jquery 脚本,用于在每次转换后添加相应的类:

var $carousel = $('#myCarousel'),
    $carouselItems = $('.item', $carousel);

//This event is fired when the carousel has completed its slide transition.
$carousel.on('slid.bs.carousel', function (e) 
    //Reset classes
    $carouselItems.removeClass('prev next');
    //Find current slide
    var $active = $(e.relatedTarget);
    //Add corresponding classes to next and prev elements
    $active.next().addClass('next');
    $active.prev().addClass('prev');
);

Demo fiddle

【讨论】:

以上是关于如何在 Bootstrap 中向轮播幻灯片添加/删除“上一个”和“下一个”类?的主要内容,如果未能解决你的问题,请参考以下文章

使用 jQuery 将幻灯片动态添加到 Bootstrap 3 轮播

如何在 Bootstrap 中制作超过 3 张图像的轮播?

如何在 Bootstrap 4 轮播中制作全角背景图像?

单击右/左控件后如何防止Bootstrap轮播恢复幻灯片动画

React-Bootstrap 轮播滑块:如何检测显示中的当前幻灯片

如何在图像下方移动 bootstrap 3 轮播标题?