Bootstrap carousel轮转图的使用实例详解


Posted in Javascript onMay 17, 2016

图片轮播效果在Web中常常能看到,很多人也称之为幻灯片。其主要显示的效果就是多幅图片轮回播放,从右向左播放,鼠标悬停在图片时会暂停播放,如果鼠标悬停或单击右下角圆点时,会显示对应的图片。

这种图片轮播效果,在Bootstrap框架中是通过Carousel插件来实现

演示效果截图:

Bootstrap carousel轮转图的使用实例详解

代码:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<!-- <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">-->
<link rel="stylesheet" href="css/bootstrap.min.css" />
<style>
body {
padding: 10px;
margin: 10px;
}
</style>
</head>
<body>
<div id="myCarousel" class="carousel">
<!--第一步:设计轮播图片的容器。-->
<!-- #slidershow 层添加 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">
<!--第三步:设计轮播图片播放区,使用 carousel-inner 样式来控制-->
<div class="item active">
<img src="http://images3.c-ctrip.com/rk/201407/ll580x145.jpg" alt="">
<div class="carousel-caption">
<h4>标题一</h4>
<p>图片一内容简介</p>
</div>
</div>
<div class="item">
<img src="http://images3.c-ctrip.com/dj/201408/zj/zj_580145.jpg" alt="">
<div class="carousel-caption">
<h4>标题二/h4>
<p>图片二内容简介</p>
</div>
</div>
<div class="item">
<img src="http://images3.c-ctrip.com/rk/201403/yfdd580145a.png" alt="">
<div class="carousel-caption">
<h4>标题三</h4>
<p>图片三内容简介</p>
</div>
</div>
</div>
<!--第四步:设计轮播图片控制器。向前播放left carousel-control和向后播放的控制器-->
<a class="left carousel-control" href="#myCarousel" data-slide="prev">‹
<!--<a class="left carousel-control" href="#slidershow" role="button" data-slide="prev">-->
<span class="qlyphicon glyphicon-chevron-left"></span></a>
<a class="right carousel-control" href="#myCarousel" data-slide="next">›
<span class="qlyphicon glyphicon-chevron-right"></span></a>
<!--<a class="left carousel-control" href="#carousel-example-generic" data-slide="prev">
<span class="qlyphicon glyphicon-chevron-left"></span>
</a>
<a class="left carousel-control" href="#carousel-example-generic" data-slide="next">
<span class="qlyphicon glyphicon-chevron-right"></span>
</a>-->
</div>
<script>
$('.carousel').carousel()
</script>
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/bootstrap.min.js"></script>
<!--<script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script>-->
<!--<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>-->
</body>
</html> 
/*bootstrap.css文件第5835行~第5863行*/
.carousel-indicators {
position: absolute; /*整个计数区域绝对定位*/
bottom: 10px; /*距容器carousel底部10px*/
z-index: 15; /*设置其在Z轴的层级*/
/*让整个计数区水平居中*/
left: 50%;
width: 60%;
padding-left: 0;
margin-left: -30%;
text-align: center;
list-style: none;
}
.carousel-indicators li {
display: inline-block;
width: 10px;
height: 10px;
margin: 1px;
text-indent: -999px;
cursor: pointer;
background-color: #000 \9;
background-color: rgba(0, 0, 0, 0);
border: 1px solid #fff;
border-radius: 10px;
}
/*设置当前状态样式*/
.carousel-indicators .active {
width: 12px;
height: 12px;
margin: 0;
background-color: #fff;
}

图片轮播--声明式触轮播图的播放

触发轮播图的播放方法也有两种,一种是声明式,另外一种是JavaScript方式。首先来看声明式方法。

声明式方法是通过定义 data 属性来实现,data 属性可以很容易地控制轮播的位置。其主要包括以下几种:

•data-ride 属性:取值 carousel,并且将其定义在 carousel 上。

•data-target 属性:取值 carousel 定义的 ID 名或者其他样式识别符,如前面示例所示,取值为“#slidershow”,并且将其定义在轮播图计数器的每个 li 上。

•data-slide 属性:取值包括 prev,next,prev表示向后滚动,next 表示向前滚动。该属性值同样定义在轮播图控制器的 a 链接上,同时设置控制器 href 值为容器 carousel 的 ID 名或其他样式识别符。

•data-slide-to 属性:用来传递某个帧的下标,比如 data-slide-to="2",可以直接跳转到这个指定的帧(下标从0开始计),同样定义在轮播图计数器的每个 li 上。

除了data-ride="carousel"、data-slide、data-slide-to 以外,轮播组件还支持其他三个自定义属性:

属性名称 类型 默认值 描述
data-interval number 5000 幻灯片轮换的等待时间(毫秒)。如果为false,轮播将不会自动开始循环
data-pause string hover 默认鼠标悬停留在幻灯片区域即停止播放,离开即开始播放
data-wrap 布尔值 true 轮播是否持续循环

如下代码实现“轮播不持续循环”和“轮播时间间隔为1秒”。

<div id="slidershow" class="carousel" data-ride="carousel" data-wrap="false" data-interval="1000">
......
</div>

上面三个属性可以在容器元素上定义,也可以在标示符(或左右控制链接)上定义,但是后者定义的优先级比较高。

图片轮播--JavaScript触发方法

data-ride="carousel" 和 data-slide="prev"、 data-slide="next" 三个语句去掉了,我们来使用JS代码实现“图片自动轮播”和“向前、向后按钮”的功能实现。

使用JS实现“图片自动轮播”和“向前、向后按钮”的功能实现

默认情况之下,如果 carousel 容器上定义了 data-ride="carousel" 属性,页面加载之后就会自动加载轮播图片切换效果。如果没有定义 data-ride 属性,可以通过 JavaScript 方法来触发轮播图片切换。具体使用方法如下:

$(".carousel").carousel();

也可以通过容器的 ID 来指定:

$("#slidershow").carousel();

在 carousel() 方法中可以设置具体的参数,如:

属性名称 类型 默认值 描述
interval number 5000 幻灯片轮换的等待时间(毫秒)。如果为false,轮播将不会自动开始循环
pause string hover 默认鼠标悬停留在幻灯片区域即停止播放,离开即开始播放
wrap 布尔值 true 轮播是否持续循环

使用时,在初始化插件的时候可以传关相关的参数,如:

$("#slidershow").carousel({
interval: 3000
});

实际上,当我们给carousel()方法配置参数之后,轮播效果就能自动切换。但 Bootstrap 框架中的 carousel 插件还给使用者提供了几种特殊的调用方法,简单说明如下:

•.carousel("cycle"):从左向右循环播放;

•.carousel("pause"):停止循环播放;

•.carousel("number"):循环到指定的帧,下标从0开始,类似数组;

•.carousel("prev"):返回到上一帧;

•.carousel("next"):下一帧

例如,前面的调用方法,向前和向后两个按钮还无法正常工作,其实可以通过 .carousel("prev") 和 .carousel("next") 方法让他们能正常工作,代码如下:

$(function(){
$("#slidershow").carousel({
interval:2000
});
$("#slidershow a.left").click(function(){
$(".carousel").carousel("prev");
});
$("#slidershow a.right").click(function(){
$(".carousel").carousel("next");
});
}); 
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
<style>
body {
padding: 10px;
margin: 10px;
}
</style>
</head>
<body>
<div id="carousel-example" class="carousel slide" data-ride="carousel">
<!-- Indicators -->
<ol class="carousel-indicators">
<li data-target="#carousel-example" data-slide-to="0" class="active"></li>
<li data-target="#carousel-example" data-slide-to="1"></li>
<li data-target="#carousel-example" data-slide-to="2"></li>
</ol>
<!-- Wrapper for slides -->
<div class="carousel-inner">
<div class="item active">
<img src="http://bfsu.sinaapp.com/wp-content/themes/bfsu/i/homepix/home5.jpg" alt="..." />
<div class="carousel-caption">...</div>
</div>
<div class="item">
<img src="http://bfsu.sinaapp.com/wp-content/themes/bfsu/i/homepix/home2.jpg" alt="..." />
<div class="carousel-caption">...</div>
</div>
<div class="item">
<img src="http://bfsu.sinaapp.com/wp-content/themes/bfsu/i/homepix/home3.jpg" alt="..." />
<div class="carousel-caption">...</div>
</div>
</div>
<!-- Controls -->
<a class="left carousel-control" href="#carousel-example" data-slide="prev">
<span class="glyphicon glyphicon-chevron-left"></span></a>
<a class="right carousel-control" href="#carousel-example" data-slide="next">
<span class="glyphicon glyphicon-chevron-right"></span></a>
</div>
<!--<script>
$(function() {
$('.carousel').carousel();
});
</script>-->
<script src="js/jquery.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<!--<script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script>-->
<!--<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>-->
</body>
</html>

三水点靠木推荐bootstrap相关专题:

BootStrap组件操作技巧

BootStrap相关知识汇总

以上所述是小编给大家介绍的Bootstrap carousel轮转图的使用实例详解的相关知识,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
载入jQuery库的最佳方法详细说明及实现代码
Dec 28 Javascript
Jquery实现图片左右自动滚动示例
Sep 25 Javascript
AngularJS基础 ng-disabled 指令详解及简单示例
Aug 01 Javascript
bootstrap fileinput 插件使用项目总结(经验)
Feb 22 Javascript
web.js.字符串与正则表达式操作
May 13 Javascript
jQuery ajax动态生成table功能示例
Jun 14 jQuery
ES6 javascript的异步操作实例详解
Oct 30 Javascript
解决layui前端框架 form表单,table表等内置控件不显示的问题
Aug 19 Javascript
配置node服务器并且链接微信公众号接口配置步骤详解
Jun 21 Javascript
vue中uni-app 实现小程序登录注册功能
Oct 12 Javascript
Vue 打包体积优化方案小结
May 20 Javascript
ant design vue中日期选择框混合时间选择器的用法说明
Oct 27 Javascript
js和jq使用submit方法无法提交表单的快速解决方法
May 17 #Javascript
Bootstrap打造一个左侧折叠菜单的系统模板(一)
May 17 #Javascript
Bootstrap打造一个左侧折叠菜单的系统模板(二)
May 17 #Javascript
JS和jQuery使用submit方法无法提交表单的原因分析及解决办法
May 17 #Javascript
如何利用Promises编写更优雅的JavaScript代码
May 17 #Javascript
JavaScript实现设计模式中的单例模式的一些技巧总结
May 17 #Javascript
使用Promise解决多层异步调用的简单学习心得
May 17 #Javascript
You might like
使用PHP Socket 编程模拟Http post和get请求
2014/11/25 PHP
php判断文件上传类型及过滤不安全数据的方法
2014/12/17 PHP
php通过文件头判断格式的方法
2016/05/28 PHP
PHP SFTP实现上传下载功能
2017/07/26 PHP
Prototype 学习 工具函数学习($方法)
2009/07/12 Javascript
使用jQuery简化Ajax开发 Ajax开发入门
2009/10/14 Javascript
jQuery 1.8 Release版本发布了
2012/08/14 Javascript
IE 下Enter提交表单存在重复提交问题的解决方法
2014/05/04 Javascript
json的定义、标准格式及json字符串检验
2014/05/11 Javascript
深入探讨JavaScript、JQuery屏蔽网页鼠标右键菜单及禁止选择复制
2014/06/10 Javascript
jQuery的基本概念与高级编程
2015/05/14 Javascript
JavaScript对数组进行随机重排的方法
2015/07/22 Javascript
理解和运用JavaScript的闭包机制
2015/08/13 Javascript
jquery实现的点击翻书效果代码
2015/11/04 Javascript
老生常谈onBlur事件与onfocus事件(js)
2016/07/09 Javascript
BootStrap selectpicker后台动态绑定数据
2017/06/01 Javascript
微信小程序实现倒计时60s获取验证码
2020/04/17 Javascript
js时间戳与日期格式之间转换详解
2017/12/11 Javascript
vue toggle做一个点击切换class(实例讲解)
2018/03/13 Javascript
jQuery实现checkbox全选、反选及删除等操作的方法详解
2019/08/02 jQuery
微信小程序自定义顶部组件customHeader的示例代码
2020/06/03 Javascript
Vue如何基于vue-i18n实现多国语言兼容
2020/07/17 Javascript
[34:56]Ti4冒泡赛LGD vs Liquid 1
2014/07/14 DOTA
[04:19]DOTA2亚洲邀请赛 现场花絮
2015/03/11 DOTA
Python中的迭代器漫谈
2015/02/03 Python
Python基于checksum计算文件是否相同的方法
2015/07/09 Python
基于Python的图像数据增强Data Augmentation解析
2019/08/13 Python
手把手教你Python yLab的绘制折线图的画法
2019/10/23 Python
利用PyQt中的QThread类实现多线程
2020/02/18 Python
python3用urllib抓取贴吧邮箱和QQ实例
2020/03/10 Python
Pytorch1.5.1版本安装的方法步骤
2020/12/31 Python
python常量折叠基础知识点讲解
2021/02/28 Python
木马的传播途径主要有哪些
2016/04/08 面试题
金属材料工程毕业生个人的自我评价
2013/11/28 职场文书
事业单位鉴定材料
2014/05/25 职场文书
幼儿园开学家长寄语(2015秋季)
2015/05/27 职场文书