Bootstrap每天必学之轮播(Carousel)插件


Posted in Javascript onApril 25, 2016

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

如果您想要单独引用该插件的功能,那么您需要引用 carousel.js。或者,正如 Bootstrap 插件概览 一章中所提到,您可以引用 bootstrap.js 或压缩版的 bootstrap.min.js。

一、实例
下面是一个简单的幻灯片,使用 Bootstrap 轮播(Carousel)插件显示了一个循环播放元素的通用组件。为了实现轮播,您只需要添加带有该标记的代码即可。不需要使用 data 属性,只需要简单的基于 class 的开发即可。

<!DOCTYPE html>
<html>
<head>
 <title>Bootstrap 实例 - 简单的轮播(Carousel)插件</title>
 <link href="/bootstrap/css/bootstrap.min.css" rel="stylesheet">
 <script src="/scripts/jquery.min.js"></script>
 <script src="/bootstrap/js/bootstrap.min.js"></script>
</head>
<body>
 
<div id="myCarousel" class="carousel slide">
 <!-- 轮播(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> 
 <!-- 轮播(Carousel)项目 -->
 <div class="carousel-inner">
 <div class="item active">
 <img src="/media/uploads/2014/07/slide1.png" alt="First slide">
 </div>
 <div class="item">
 <img src="/media/uploads/2014/07/slide2.png" alt="Second slide">
 </div>
 <div class="item">
 <img src="/media/uploads/2014/07/slide3.png" alt="Third slide">
 </div>
 </div>
 <!-- 轮播(Carousel)导航 -->
 <a class="carousel-control left" href="#myCarousel"
 data-slide="prev">‹</a>
 <a class="carousel-control right" href="#myCarousel"
 data-slide="next">›</a>
</div>
 
</body>
</html>

结果如下所示:

Bootstrap每天必学之轮播(Carousel)插件

简单的轮播(Carousel)插件

二、可选的标题
您可以通过 .item 内的 .carousel-caption 元素向幻灯片添加标题。只需要在该处放置任何可选的 HTML 即可,它会自动对齐并格式化。下面的实例演示了这点:

<!DOCTYPE html>
<html>
<head>
 <title>Bootstrap 实例 - 轮播(Carousel)插件的标题</title>
 <link href="/bootstrap/css/bootstrap.min.css" rel="stylesheet">
 <script src="/scripts/jquery.min.js"></script>
 <script src="/bootstrap/js/bootstrap.min.js"></script>
</head>
<body>
 
<div id="myCarousel" class="carousel slide">
 <!-- 轮播(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> 
 <!-- 轮播(Carousel)项目 -->
 <div class="carousel-inner">
 <div class="item active">
 <img src="/media/uploads/2014/07/slide1.png" alt="First slide">
 <div class="carousel-caption">标题 1</div>
 </div>
 <div class="item">
 <img src="/media/uploads/2014/07/slide2.png" alt="Second slide">
 <div class="carousel-caption">标题 2</div>
 </div>
 <div class="item">
 <img src="/media/uploads/2014/07/slide3.png" alt="Third slide">
 <div class="carousel-caption">标题 3</div>
 </div>
 </div>
 <!-- 轮播(Carousel)导航 -->
 <a class="carousel-control left" href="#myCarousel"
 data-slide="prev">‹</a>
 <a class="carousel-control right" href="#myCarousel"
 data-slide="next">›</a>
</div>
 
 
</body>
</html>

结果如下所示:

Bootstrap每天必学之轮播(Carousel)插件

轮播(Carousel)插件的标题

三、用法

通过 data 属性:使用 data 属性可以很容易控制轮播(Carousel)的位置。
属性 data-slide 接受关键字 prev 或 next,用来改变幻灯片相对于当前位置的位置。
使用 data-slide-to 来向轮播床底一个原始滑动索引,data-slide-to="2" 将把滑块移动到一个特定的索引,索引从 0 开始计数。
data-ride="carousel" 属性用于标记轮播在页面加载时就开始动画播放。

通过 JavaScript:轮播(Carousel)可通过 JavaScript 手动调用,如下所示:
$('.carousel').carousel()

四、选项
有一些选项是通过 data 属性或 JavaScript 来传递的。下表列出了这些选项:

Bootstrap每天必学之轮播(Carousel)插件

五、方法
下面是一些轮播(Carousel)插件中有用的方法:

Bootstrap每天必学之轮播(Carousel)插件

Bootstrap每天必学之轮播(Carousel)插件

六、实例
下面的实例演示了方法的用法:

<!DOCTYPE html>
<html>
<head>
 <title>Bootstrap 实例 - 轮播(Carousel)插件方法</title>
 <link href="/bootstrap/css/bootstrap.min.css" rel="stylesheet">
 <script src="/scripts/jquery.min.js"></script>
 <script src="/bootstrap/js/bootstrap.min.js"></script>
</head>
<body>
 
<div id="myCarousel" class="carousel slide">
 <!-- 轮播(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> 
 <!-- 轮播(Carousel)项目 -->
 <div class="carousel-inner">
 <div class="item active">
 <img src="/media/uploads/2014/07/slide1.png" alt="First slide">
 </div>
 <div class="item">
 <img src="/media/uploads/2014/07/slide2.png" alt="Second slide">
 </div>
 <div class="item">
 <img src="/media/uploads/2014/07/slide3.png" alt="Third slide">
 </div>
 </div>
 <!-- 轮播(Carousel)导航 -->
 <a class="carousel-control left" href="#myCarousel"
 data-slide="prev">‹</a>
 <a class="carousel-control right" href="#myCarousel"
 data-slide="next">›</a>
 <!-- 控制按钮 -->
 <div style="text-align:center;">
 <input type="button" class="btn start-slide" value="Start">
 <input type="button" class="btn pause-slide" value="Pause">
 <input type="button" class="btn prev-slide" value="Previous Slide">
 <input type="button" class="btn next-slide" value="Next Slide">
 <input type="button" class="btn slide-one" value="Slide 1">
 <input type="button" class="btn slide-two" value="Slide 2"> 
 <input type="button" class="btn slide-three" value="Slide 3">
 </div>
</div>
<script>
 $(function(){
 // 初始化轮播
 $(".start-slide").click(function(){
 $("#myCarousel").carousel('cycle');
 });
 // 停止轮播
 $(".pause-slide").click(function(){
 $("#myCarousel").carousel('pause');
 });
 // 循环轮播到上一个项目
 $(".prev-slide").click(function(){
 $("#myCarousel").carousel('prev');
 });
 // 循环轮播到下一个项目
 $(".next-slide").click(function(){
 $("#myCarousel").carousel('next');
 });
 // 循环轮播到某个特定的帧
 $(".slide-one").click(function(){
 $("#myCarousel").carousel(0);
 });
 $(".slide-two").click(function(){
 $("#myCarousel").carousel(1);
 });
 $(".slide-three").click(function(){
 $("#myCarousel").carousel(2);
 });
 });
</script>
 
 
</body>
</html>

结果如下所示:

Bootstrap每天必学之轮播(Carousel)插件

轮播(Carousel)插件方法

七、事件

下表列出了轮播(Carousel)插件中要用到的事件。这些事件可在函数中当钩子使用。

Bootstrap每天必学之轮播(Carousel)插件

实例
下面的实例演示了事件的用法:

<!DOCTYPE html>
<html>
<head>
 <title>Bootstrap 实例 - 轮播(Carousel)插件事件</title>
 <link href="/bootstrap/css/bootstrap.min.css" rel="stylesheet">
 <script src="/scripts/jquery.min.js"></script>
 <script src="/bootstrap/js/bootstrap.min.js"></script>
</head>
<body>
 
<div id="myCarousel" class="carousel slide">
 <!-- 轮播(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> 
 <!-- 轮播(Carousel)项目 -->
 <div class="carousel-inner">
 <div class="item active">
 <img src="/media/uploads/2014/07/slide1.png" alt="First slide">
 </div>
 <div class="item">
 <img src="/media/uploads/2014/07/slide2.png" alt="Second slide">
 </div>
 <div class="item">
 <img src="/media/uploads/2014/07/slide3.png" alt="Third slide">
 </div>
 </div>
 <!-- 轮播(Carousel)导航 -->
 <a class="carousel-control left" href="#myCarousel"
 data-slide="prev">‹</a>
 <a class="carousel-control right" href="#myCarousel"
 data-slide="next">›</a>
</div>
<script>
 $(function(){
 $('#myCarousel').on('slide.bs.carousel', function () {
 alert("当调用 slide 实例方法时立即触发该事件。");
 });
 });
</script>
 
</body>
</html>

结果如下所示:

Bootstrap每天必学之轮播(Carousel)插件

轮播(Carousel)插件事件

根据上面的教程自己制作的实例:

轮播插件就是将几张同等大小的大图,按照顺序依次播放。

//基本实例。

<div id="myCarousel" class="carousel slide">
 <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>
 <div class="carousel-inner">
 <div class="item active">
 <img src="img/slide1.png" alt="第一张">
 </div>
 <div class="item">
 <img src="img/slide2.png" alt="第二张">
 </div>
 <div class="item">
 <img src="img/slide3.png" alt="第三张">
 </div>
 </div>

 <a href="#myCarousel" data-slide="prev" class="carousel-controlleft">‹</a>
 <a href="#myCarousel" data-slide="next" class="carousel-controlright">›</a>
</div>

data 属性解释:

1.data-slide 接受关键字 prev 或 next,用来改变幻灯片相对于当前位置的位置;
2.data-slide-to 来向轮播底部创建一个原始滑动索引, data-slide-to="2"将把滑动块移动到一个特定的索引,索引从 0 开始计数。
3.data-ride="carousel"属性用户标记轮播在页面加载时开始动画播放。

Bootstrap每天必学之轮播(Carousel)插件

如果在 JavaScript 调用就直接使用键值对方法,并去掉 data-;
//设置自定义属性

$('#myCarousel').carousel({
 //设置自动播放/2 秒
 interval : 2000,
 //设置暂停按钮的事件
 pause : 'hover',
 //只播一次
 wrap : false,
});

轮播插件还提供了一些方法,如下:

Bootstrap每天必学之轮播(Carousel)插件

//点击按钮执行

$('button').on('click', function() {
 //点击后,自动播放
 $('#myCarousel').carousel('cycle');
 //其他雷同
});

Bootstrap每天必学之轮播(Carousel)插件

事件

$('#myCarousel').on('slide.bs.carousel', function() {
 alert('当调用 slide 实例方式时立即触发');
});

$('#myCarousel').on('slid.bs.carousel', function() {
 alert('当轮播完成一个幻灯片触发');
});

更多内容可以参考:Bootstrap学习教程

以上就是本文的全部内容,希望对大家学习Bootstrap轮播(Carousel)插件有所帮助。

Javascript 相关文章推荐
javascript入门·动态的时钟,显示完整的一些方法,新年倒计时
Oct 01 Javascript
JavaScript实现图片DIV竖向滑动的方法
Apr 25 Javascript
jquery+css3实现会动的小圆圈效果
Jan 27 Javascript
Jquery Easyui选项卡组件Tab使用详解(10)
Dec 18 Javascript
Extjs让combobox写起来简洁又漂亮
Jan 05 Javascript
javascript ES6中箭头函数注意细节小结
Feb 17 Javascript
vuejs2.0运用原生js实现简单的拖拽元素功能示例
Feb 24 Javascript
浅析Vue中method与computed的区别
Mar 06 Javascript
浅谈在node.js进入文件目录的问题
May 13 Javascript
vue单页应用的内存泄露定位和修复问题小结
Aug 02 Javascript
layer.open的自适应及居中及子页面标题的修改方法
Sep 05 Javascript
vue props default Array或是Object的正确写法说明
Jul 30 Javascript
第十章之巨幕页头缩略图与警告框组件
Apr 25 #Javascript
Bootstrap每天必学之附加导航(Affix)插件
Apr 25 #Javascript
Bootstrap项目实战之子栏目资讯内容
Apr 25 #Javascript
深入浅析JavaScript中数据共享和数据传递
Apr 25 #Javascript
Bootstrap项目实战之首页内容介绍(全)
Apr 25 #Javascript
Bootstrap每天必学之响应式导航、轮播图
Apr 25 #Javascript
Java遍历集合方法分析(实现原理、算法性能、适用场合)
Apr 25 #Javascript
You might like
thinkphp3.x中session方法的用法分析
2016/05/20 PHP
JavaScript 克隆数组最简单的方法
2009/02/12 Javascript
JavaScript 原型与继承说明
2010/06/09 Javascript
基于JavaScript 类的使用详解
2013/05/07 Javascript
JS连接SQL数据库与ACCESS数据库的方法实例
2013/11/21 Javascript
javascript页面倒计时实例
2015/07/25 Javascript
贴近用户体验的Jquery日期、时间选择插件
2015/08/19 Javascript
EasyUI折叠表格层次显示detailview详解及实例
2016/12/28 Javascript
js鼠标经过tab选项卡时实现切换延迟
2017/03/24 Javascript
微信小程序之获取当前位置经纬度以及地图显示详解
2017/05/09 Javascript
js学习总结_轮播图之渐隐渐现版(实例讲解)
2017/07/17 Javascript
JS实现全屏预览F11功能的示例代码
2018/07/23 Javascript
解决ng-repeat产生的ng-model中取不到值的问题
2018/10/02 Javascript
微信小程序前端自定义分享的实现方法
2019/06/13 Javascript
layui table 多行删除(id获取)的方法
2019/09/12 Javascript
Vue中img的src是动态渲染时不显示的解决
2019/11/14 Javascript
Node如何后台数据库使用增删改查功能
2019/11/21 Javascript
详解Vue的ref特性的使用
2020/01/24 Javascript
vue 解决IOS10低版本白屏的问题
2020/11/17 Javascript
python交互式图形编程实例(一)
2017/11/17 Python
Python实现感知器模型、两层神经网络
2017/12/19 Python
Python使用requests及BeautifulSoup构建爬虫实例代码
2018/01/24 Python
Python中实现变量赋值传递时的引用和拷贝方法
2018/04/29 Python
基于Pandas读取csv文件Error的总结
2018/06/15 Python
transform python环境快速配置方法
2018/09/27 Python
对python条件表达式的四种实现方法小结
2019/01/30 Python
Python实现多态、协议和鸭子类型的代码详解
2019/05/05 Python
python 设置输出图像的像素大小方法
2019/07/04 Python
Django项目使用ckeditor详解(不使用admin)
2019/12/17 Python
信号生成及DFT的python实现方式
2020/02/25 Python
CSS3解决移动页面上点击链接触发色块的问题
2016/06/03 HTML / CSS
英国性感内衣和睡衣品牌:Bluebella
2018/01/26 全球购物
城市轨道专业个人求职信范文
2013/09/23 职场文书
2014年学校领导班子对照检查材料
2014/09/19 职场文书
python 爬取哔哩哔哩up主信息和投稿视频
2021/06/07 Python
JavaScript流程控制(分支)
2021/12/06 Javascript