一、简介

Carousel 就是指轮播图,这里 有完整的代码例子。它可以很简单的就构造出来,结构如下:

div.carousel.slide[data-ride="carousel"]
div.carousel-inner[role="listbox"]
div.item.active
img
div.carousel-caption
div.item
img
div.carousel-caption

具体代码如下。

<div class="carousel slide" data-ride="carousel">
<div class="carousel-inner" role="listbox">
<div class="item active">
<img src="http://www.ruanyifeng.com/images_pub/pub_345.jpg" alt="" />
<div class="carousel-caption">
<p>凝望世间万物</p>
</div>
</div>
<div class="item">
<img src="http://www.ruanyifeng.com/images_pub/pub_128.jpg" alt="" />
<div class="carousel-caption">
<p>幸与不幸,都是你</p>
</div>
</div>
</div>
</div>
  1. .carousel 将组件标记为轮播器,.slide 设置轮播器图片切换效果是从右向左滑动。
  2. 页面加载完成后, data-ride="carousel" 确保轮播器自动启动。
  3. 被标记为 .item.active 幻灯片最开始显示的幻灯片。

二、Carousel Indicators

Carousel indicators 是轮播器计数器。加上计数器后的轮播图代码结构如下:

div#generic_carousel.carousel.slide[data-ride="carousel"]
ol.carousel-indicators
li.active[data-target="#generic_carousel" data-slide-to="0"]
li[data-target="#generic_carousel" data-slide-to="1"]
div.carousel-inner[role="listbox"]
div.item.active
img
div.carousel-caption
div.item
img
div.carousel-caption

具体代码如下。

<div id="generic_carousel" class="carousel slide" data-ride="carousel">
<ol class="carousel-indicators">
<li data-target="#generic_carousel" data-slide-to="0" class="active"></li>
<li data-target="#generic_carousel" data-slide-to="1"></li>
</ol>
<div class="carousel-inner" role="listbox">
<div class="item">
<img src="http://www.ruanyifeng.com/images_pub/pub_345.jpg" alt=";(" />
<div class="carousel-caption">
<p>凝望世间万物</p>
</div>
</div>
<div class="item active">
<img src="http://www.ruanyifeng.com/images_pub/pub_128.jpg" alt=";(" />
<div class="carousel-caption">
<p>幸与不幸,都是你</p>
</div>
</div>
</div>
</div>

我们为 .carousel 添加了 id generic_carousel,供 .carousel-indicators 使用。

对于 carousel-indicators > li

  1. 指定 data-target 属性值为 #generic_carousel,其中 data-slide-to 为 indicator 对应的幻灯片位置(从 0 开始)。
  2. 指定为 .active 的 indicator 会高亮。

三、Carousel Controls

Carousel Controls 是轮播器控制器(上一张,下一张)。加上控制器后的轮播图代码结构如下:

div#generic_carousel.carousel.slide[data-ride="carousel"]
ol.carousel-indicators
li.active[data-target="#generic_carousel" data-slide-to="0"]
li[data-target="#generic_carousel" data-slide-to="1"]
div.carousel-inner[role="listbox"]
div.item.active
img
div.carousel-caption
div.item
img
div.carousel-caption
a.carousel-control.left[href="#generic_carousel" role="button" data-slide="prev"]
a.carousel-control.right[href="#generic_carousel" role="button" data-slide="next"]

具体代码如下。

<div class="col-xs-offset-3 col-xs-6">
<h1 class="text-center">Carousel with Controls</h1>
<div id="generic_carousel" class="carousel slide" data-ride="carousel">
<ol class="carousel-indicators">
<li data-target="#generic_carousel" data-slide-to="0" class="active"></li>
<li data-target="#generic_carousel" data-slide-to="1"></li>
</ol>
<div class="carousel-inner" role="listbox">
<div class="item">
<img src="http://www.ruanyifeng.com/images_pub/pub_345.jpg" alt="" />
<div class="carousel-caption">
<p>凝望世间万物</p>
</div>
</div>
<div class="item active">
<img src="http://www.ruanyifeng.com/images_pub/pub_128.jpg" alt="" />
<div class="carousel-caption">
<p>幸与不幸,都是你</p>
</div>
</div>
</div>
<a class="left carousel-control" href="#generic_carousel" role="button" data-slide="prev">
<span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
<span class="sr-only">前一张图片</span>
</a>
<a class="right carousel-control" href="#generic_carousel" role="button" data-slide="next">
<span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
<span class="sr-only">后一张图片</span>
</a>
</div>
</div>

添加了两个 <a> 标签,使切换幻灯片生效的是这两个属性:

  1. href
  2. data-slide

四、通过 JavaScript 调用

以上的代码都是通过标签 API 实现轮播图播放的。当然,也可以通过 JavaScript 调用实现。

使用 JavaScript 调用就不用再写 data-ride="carousel" 了。

$('.carousel').carousel({
interval: 8000
});

除此之外,使用使用 JavaScript 调用还有它的好处——自定义轮播图参数,这些参数包括:

  1. interval:轮播间隔时间。默认 5000,5 秒。
  2. pause:默认为 "hover"。当设置为 "hover" 时,每当鼠标在幻灯片上发生 mouseenter 事件,轮播停止;mouseleave 后轮播开始。
  3. wrap:默认为 true。是否循环播放轮播图。
  4. keyboard:默认为 true。是否支持键盘事件。

五、Carousel 事件

轮播图轮播过程中,可以捕获到的事件有两个:

  1. slide.bs.carousel:幻灯片切换开始时触发。
  2. slid.bs.carousel:幻灯片切换结束时触发。
$('#generic_carousel').on('slide.bs.carousel', function () {
// do something…
})

六、参考链接

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

(完)

Bootsrap 的 Carousel的更多相关文章

  1. 利用bootstrap的carousel.js实现轮播图动画

    前期准备: 1.jquery.js. 2.bootstrap的carousel.js. 3.bootstrap.css. 如果大家不知道在哪下载,可以联系小颖,小颖把这些js和css可以发送给你. 一 ...

  2. Carousel 旋转画廊特效的疑难杂症

    疑难杂症 该画廊特效的特点就是前后元素有层级关系. 我想很多人应该看过或者用过这个插件carousel.js,网上也有相关的教程.不知道这个插件的原型是哪个,有知道的朋友可以告诉我. 该插件相对完美, ...

  3. 学会用bootstrap的modal和carousel

    bootstrap框架提供了很多好用的javascript组件,可以很方便的实现常用的js效果,比如点击弹出一个div(modal).下拉菜单.旋转木马(carousel或slider),非常适合前端 ...

  4. Bootstrap 之 Carousel

    Bootstrap 轮播(Carousel)插件是一种灵活的响应式的向站点添加滑块的方式.除此之外,内容也是足够灵活的,可以是图像.内嵌框架.视频或者其他您想要放置的任何类型的内容. 如果您想要单独引 ...

  5. DevExpress Carousel 设置水平滑动列表

    DevExpress中Carousel控件的应用 Carousel,直译为旋转木马,即旋转视图,可以做为数据的展示或者菜单项. 要实现触摸左右滑动的效果,其实是比较容易的,直接在CarouselPan ...

  6. Bootsrap基本应用

    Bootsrap 用法: <!DOCTYPE html> <html lang="en"> <head> <meta charset=&q ...

  7. jquery 的3D Carousel插件参数说明

    这个插件大家都很熟悉了,但是在网上找了很久找不到相关的资料,只有自己琢磨研究了一下.有些参数一眼都可以看出意思,在此我只说一下每个图片要想带一些扩展信息怎么处理. 1:首先需要创建一个ul对象,然后里 ...

  8. Bootstrap之Carousel不能自动播放的解决办法(转)

    Bootstrap是一个非常好的css/javaScript框架,尤其对于移动端的自适应和适配能力都比较强. 用Bootstrap自带的Carousel写了一个图片轮播的广告部分,用js调用后却出现了 ...

  9. AngularJs的UI组件ui-Bootstrap分享(十四)——Carousel

    Carousel指令是用于图片轮播的控件,引入ngTouch模块后可以在移动端使用滑动的方式使用轮播控件. <!DOCTYPE html> <html ng-app="ui ...

随机推荐

  1. paramiko库安装

    python的paramiko库用于执行ssh2连接(client和server).安装方式如下: 硬件环境:Raspberry 2B,arm,1GB RAM,16GB TF卡; 系统环境:Linux ...

  2. JAVA finally字句的异常丢失和返回值覆盖解析

    转载:http://blog.csdn.net/sureyonder/article/details/5560538 Java虚拟机在每个try语句块和与其相关的catch子句的结尾 处都会“调用”f ...

  3. 设备文件三大结构:inode,file,file_operations

    驱动程序就是向下控制硬件,向上提供接口,这里的向上提供的接口最终对应到应用层有三种方式:设备文件,/proc,/sys,其中最常用的就是使用设备文件,而Linux设备中用的最多的就是字符设备,本文就以 ...

  4. js精要之模块模式

    // 模块模式是一种用于创建拥有私有数据的单件对象的模式,基本做法是使用立调函数(IIFE)来返回一个对象 var yourObjet = (function(){ // 私有数据 return { ...

  5. Mysql条件的类型决定了是否能走索引

    sku表总数据量将近7百万 SELECT count(1) from sku;

  6. 中间自适应,左右定宽的两种经典布局 ---- 圣杯布局 VS 双飞翼布局

    一.引子 最近学了些js框架,小有充实感,又深知如此节奏的前提需得基础扎实,于是回头想将原生CSS和Javascript回顾总结一番,先从CSS起,能集中它的就在基础的布局上,便查阅了相关资料,将布局 ...

  7. 动态添加删除网卡 - 每天5分钟玩转 OpenStack(156)

    这是 OpenStack 实施经验分享系列的第 6 篇. 在项目实施过程中,经常会有添加删除网卡的需求.比如一个运行数据库的 instance,初始只有一个网卡,数据库服务和备份共用这块网卡,后来为提 ...

  8. iOS runtime的应用实例

      一直想弄明白runtime是怎么回事,因为面试的时候这是一道必备问题,但是平时用的机会真的少之又少,我一度以为runtime只是用来装13的利器,没什么卵用.但是随着学习的增多,发现runtime ...

  9. ASP.NET MVC4.0+ WebAPI+EasyUI+KnockOutJS快速开发框架 通用权限管理系统

    1.基于 ASP.NET MVC4.0 + WebAPI + EasyUI + Knockout 的架构设计开发 2.采用MVC的框架模式,具有耦合性低.重用性高.生命周期成本低.可维护性高.有利软件 ...

  10. apk反编译方式

    一.Apk反编译得到Java源代码 下载上述反编译工具包,打开apk2java目录下的dex2jar-0.0.9.9文件夹,内含apk反编译成java源码工具,以及源码查看工具. apk反编译工具de ...