Bootstrap 轮播

轮播(Carousel)插件把多张图片或卡片组成一组可循环播放的幻灯片:自动播放、左右箭头、底部圆点指示器一应俱全,是首页 Banner 最常用的展示组件。

最小轮播结构

轮播需要四部分:外层容器、底部指示器、内容区 .carousel-inner、左右控制箭头:

<div id="myCarousel" class="carousel slide" 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>
    <li data-target="#myCarousel" data-slide-to="2"></li>
  </ol>
  <!-- 幻灯片主体,item 中放图片或其它内容 -->
  <div class="carousel-inner">
    <div class="item active"><img src="img/banner1.jpg" alt="第一张"></div>
    <div class="item"><img src="img/banner2.jpg" alt="第二张"></div>
    <div class="item"><img src="img/banner3.jpg" alt="第三张"></div>
  </div>
  <!-- 左右切换箭头 -->
  <a class="left carousel-control" href="#myCarousel" data-slide="prev">
    <span class="glyphicon glyphicon-chevron-left"></span>
  </a>
  <a class="right carousel-control" href="#myCarousel" data-slide="next">
    <span class="glyphicon glyphicon-chevron-right"></span>
  </a>
</div>

说明:data-ride="carousel" 让页面加载后自动播放,默认每 5 秒切换一张;底部小圆点高亮当前图片,点两侧半透明箭头可手动前后翻。

控制播放节奏与循环

用 data-interval 调整切换间隔(毫秒),data-wrap="false" 让播放到末尾后停止:

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

效果:每 2 秒切换一张,播完最后一张后停在原地,不再从头循环。

方法手动切换与暂停

jQuery 方法:cycle() 开始循环、pause() 暂停、prev() 与 next() 切换上一张或下一张:

<script>
  $('#myCarousel').carousel('pause');   // 暂停自动播放
  $('#btnGo').click(function () {
    $('#myCarousel').carousel('next');  // 点击按钮切到下一张
  });
</script>

监听切换事件

slide.bs.carousel 在开始切换前触发,slid.bs.carousel 在切换完成后触发,可用于统计曝光或联动其它内容:

<script>
  $('#myCarousel').on('slid.bs.carousel', function () {
    console.log('切换完成');
  });
</script>

小结:轮播 = 容器 + indicators 圆点 + carousel-inner 内容 + 两个 control 箭头;data-ride 开启自动播放、data-interval 调节奏,需要联动时再用 carousel() 方法与 slid 事件即可。

笔记加载中…