一、简介

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权威指南: 专有数据类型

    Writable 和 WritableComparable接口 Writable接口 ** Writable接口的主要目的是,当数据在网络上传输或从硬盘读写时,提供数据的序列化和反序列化机智 ** * ...

  2. [Bullet3]常见物体和初始化

    官方文档:http://bulletphysics.org 开源代码:https://github.com/bulletphysics/bullet3/releases API文档:http://bu ...

  3. GitLab Wiki 内容恢复版本管理

    原来一直在网站上写Wiki文档, 最近手欠误删一篇文档, 想要恢复文档时才发现原来gitlab的Wiki是用git管理的从此再也不用为误删担心了 实现步骤: mac系统安装gollow brew in ...

  4. 《Effective C#中文版:改善C#程序的50种方法》读书笔记

    作者: suyan010203  来源: 博客园  发布时间: 2011-07-09 14:47  阅读: 8988 次  推荐: 4                   原文链接   [收藏] 从去 ...

  5. asp.net core mvc权限控制:在视图中控制操作权限

    在asp.net core mvc中提供了权限验证框架,前面的文章中已经介绍了如何进行权限控制配置,权限配置好后,权限验证逻辑自动就会执行,但是在某些情况下,我们可能需要在代码里或者视图中通过手工方式 ...

  6. shell变量数学运算

    shell变量数学运算 #!/bin/sh # 本脚本说明shell脚本中变量运算的用法 # 错误的用法var=1var=$var+1echo $var 输出:1+1 # 第一种用法,letvar=1 ...

  7. PLSQL程序流程

    IF语句结构: if(条件表达式)- -then- -执行语句;- -end; IF-THEN-ELSE语句结构: if(条件表达式)- -then- -执行语句;- -else- -执行语句;- e ...

  8. iOS 创建OpenGL 环境的思考

    关于如何从头开始创建环境,可以参考大神的博文OpenGL ES 3.0 数据可视化 0:Hello world,本文只是补充一些我在实践中的一些思考. CAEAGLLayer If you plan ...

  9. 对Unity注入技术最简单的理解和应用

    Unity注入技术,我决定最大的作用在于一个项目,尤其是WEB项目在更远其中一个类时,不需要重新生成,直接通过WEBCONFIG文件的修改就可以更改对应关系和功能,实验步骤如下: 1:新建一个接口IS ...

  10. Spring Mvc + Easyui中根据查询结果导出文件

    项目是典型的SpringMvc + Easyui,需求是前台页面根据查询条件导出生成CSV文件. 基本流程是:前台页面通过表单提交的方式,请求后台,后台接受到查询参数,根据查询参数查询到数据集合,最后 ...