一、简介

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. Hadoop权威指南:数据完整性

    Hadoop权威指南:数据完整性 [TOC] 常用的错误检测码是CRC-32(循环冗余校验) HDFS的数据完整性 HDFS会对写入的所有数据计算校验和,并在读取数据时验证校验和 datanode负责 ...

  2. 【死磕Java并发】-----Java内存模型之happend-before

    在上篇博客([死磕Java并发]-–深入分析volatile的实现原理)LZ提到过由于存在线程本地内存和主内存的原因,再加上重排序,会导致多线程环境下存在可见性的问题.那么我们正确使用同步.锁的情况下 ...

  3. 使用R语言将微信记录制作成词云(简洁)--情人节奥义

    一.导出并读入微信聊天记录     参照百度的方法,使用同步助手.安装同步助手--连接手机(安卓苹果均可)--点击"其他功能"--点击微信图标即可进入聊天记录导出界面(非常简单). ...

  4. 模仿jquery的fileupload插件

    仅需要new一个对象,将上传后台的url和点击触发上传的元素id传给对象,就可以自从实现上传 暂不支持IE <html> <body> <a href="#&q ...

  5. JavaScript 闭包总结 (深入理解)

    什么是闭包 简单的说闭包就是函数里面的函数,<JavaScript高级程序设计>里是这样定义的 闭包是指有权访问另一个函数作用域中的变量的函数. 先看一道面试时经常被考的题目 代码1: & ...

  6. javase基础回顾(一)ArrayList深入解析 解读ArrayList源代码(JDK1.8.0_92)

    我们在学习这一块内容时需要注意的一个问题是 集合中存放的依然是对象的引用而不是对象本身. List接口扩展了Collection并声明存储一系列元素的类集的特性.使用一个基于零的下标,元素可以通过它们 ...

  7. 给ubuntu安装VNC远程桌面

    (只有背景,没有菜单栏问题没有解决)Virtual Network Computing(VNC)是进行远程桌面控制的一个软件.客户端的键盘输入和鼠标操作通过网络传输到远程服务器,控制服务器的操作.服务 ...

  8. BZOJ [HAOI2011]防线修建(动态凸包)

    听说有一种很高端的东西叫动态凸包维护dp就像学一下,不过介于本人还不会动态凸包就去学了下,还是挺神奇的说,维护上下凸包的写法虽然打得有点多不过也只是维护复制黏贴的事情而已罢了. 先说下动态凸包怎么写吧 ...

  9. [Selenium With C#学习笔记] Lesson-01环境搭建

    Step-1:准备所需的开发环境.浏览器驱动.Selenium-Webdriver.单元测试框架,因目前使用C#的开发神器都Visual Studio,本文也打算采用Visual Studio 201 ...

  10. 【WCF】服务并发中的“可重入模式”

    WCF服务实例的并发模式是在服务实现类上,使用 ServiceBehaviorAttribute 的 ConcurrencyMode 属性来指定.其值由 ConcurrencyMode 枚举来界定,这 ...