Bootstrap3制作图片轮播效果


Posted in Javascript onMay 12, 2016

先来看看Bootstrap图片轮播效果:

Bootstrap3制作图片轮播效果

上面就是为大家分享的效果,不过这是网易云音乐的首页。

这样的效果记得最先在ios7的官方控件库中出现之后安卓也在某个版本加入了这个view,设计是通用的啊..bootstrap3也支持在web中使用这样的效果。

接下来进行简单分析:

一 . 结构分析

一个轮播图片主要包括三个部分:

☑ 轮播的图片

☑ 轮播图片的计数器

☑ 轮播图片的控制器

第一步:设计轮播图片的容器。在 Bootstrap 框架中采用 carousel 样式,并且给这个容器定义一个 ID 值,方便后面采用 data 属性来声明触发。

<div id="slidershow" class="carousel"></div>

第二步:设计轮播图片计数器。在容器 div.carousel 的内部添加轮播图片计算器,采用 carousel-indicators 样式,其主要功能是显示当前图片的播放顺序(有几张图片就放置几个li),一般采用有顺列表来制作:
<div id="slidershow" class="carousel">
<!-- 设置图片轮播的顺序 -->
 <ol class="carousel-indicators">
 <li class="active">1</li>
 <li>2</li>
 <li>3</li>
 <li>4</li>
 <li>5</li></ol>
</div>

第三步:设计轮播图片播放区。轮播图整个效果中,播放区是最关键的一个区域,这个区域主要用来放置需要轮播的图片。这个区域使用 carousel-inner 样式来控制,而且其同样放置在 carousel 容器内,并且通过 item 容器来放置每张轮播的图片:

<div id="slidershow" class="carousel">
 <!-- 设置图片轮播的顺序 -->
 <ol class="carousel-indicators">
 <li class="active">1</li>
 …
 </ol>
 <!-- 设置轮播图片 -->
 <div class="carousel-inner">
 <div class="item active">
 <a href="##"><img src="http://images3.c-ctrip.com/rk/201407/ll580x145.jpg" alt=""></a>
 </div>
 <div class="item">
 <a href="##"><img src="http://images3.c-ctrip.com/dj/201408/zj/zj_580145.jpg" alt=""></a>
 </div>
 …
 <div class="item">
 <a href="##"><img src="http://images3.c-ctrip.com/dj/201408/zqgq_580145.jpg" alt=""></a>
 </div>
 </div>
</div> 

第四步:设置轮播图片描述.很多轮播图片效果,在每个图片上还对应有自己的标题和描述内容。其实 Bootstrap 框架中的 Carousel 也提供类似的效果。只需要在 item 中图片底部添加对应的代码.

<div id="slidershow" class="carousel">
 <!-- 设置图片轮播的顺序 -->
 <ol class="carousel-indicators">
 <li class="active">1</li>
 …
 </ol>
 <!-- 设置轮播图片 -->
 <div class="carousel-inner">
 <div class="item active">
 <a href="##"><img src="http://images3.c-ctrip.com/rk/201407/ll580x145.jpg" alt=""></a>
 <!-- 图片对应标题和描述内容 -->
 <div class="carousel-caption">
 <h3>图片标题</h3>
 <p>描述内容...</p>
 </div>
 </div>
 …
 </div>
</div>

第五步:设计轮播图片控制器。很多时候轮播图片还具有一个向前播放和向后播放的控制器。在 Carousel 中通过 carousel-control样式配合 left 和 right 来实现。其中left表示向前播放,right表示向后播放。其同样放在carousel容器内:

<div id="slidershow" class="carousel">
 <!-- 设置图片轮播的顺序 -->
 <ol class="carousel-indicators">
 …
 </ol>
 <!-- 设置轮播图片 -->
 <div class="carousel-inner">
 …
 </div>
 <!-- 设置轮播图片控制器 -->
 <a class="left carousel-control" href="" >
 <span class="glyphicon glyphicon-chevron-left"></span>
 </a>
 <a class="right carousel-control" href="">
 <span class="glyphicon glyphicon-chevron-right"></span>
 </a> 
</div>

二、实现过程

<div id="carousel-example-generic" class="carousel slide" data-ride="carousel">
 <!-- Indicators -->
 <ol class="carousel-indicators">
 <li data-target="#carousel-example-generic" data-slide-to="0" class="active"></li>
 <li data-target="#carousel-example-generic" data-slide-to="1"></li>
 <li data-target="#carousel-example-generic" data-slide-to="2"></li>
 </ol>

 <!-- Wrapper for slides -->
 <div class="carousel-inner" role="listbox">
 <div class="item active">
 <img src="..." alt="...">
 <div class="carousel-caption">
 ...
 </div>
 </div>
 <div class="item">
 <img src="..." alt="...">
 <div class="carousel-caption">
 ...
 </div>
 </div>
 ...
 </div>

 <!-- Controls -->
 <a class="left carousel-control" href="#carousel-example-generic" role="button" data-slide="prev">
 <span class="glyphicon glyphicon-chevron-left"></span>
 <span class="sr-only">Previous</span>
 </a>
 <a class="right carousel-control" href="#carousel-example-generic" role="button" data-slide="next">
 <span class="glyphicon glyphicon-chevron-right"></span>
 <span class="sr-only">Next</span>
 </a>
</div>

分为三个部分

1、指示器
一个部分是下面的小点..就是指示器

Bootstrap3制作图片轮播效果

ol class="carousel-indicators"类用于创建这个指示器

每个里data-slide-to="0" 属性用于指引位置 class="active" 定义默认激活状态
item

<div class="item">
 <img src="..." alt="...">
 <div class="carousel-caption">
 <h3>...</h3>
 <p>...</p>
 </div>
</div>

没啥悬念 就是每一个项目,填充图片 题目内容 就好

2、左右控制器
代码如下

<a class="left carousel-control" href="#myCarousel" role="button" data-slide="prev">
 <span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
 <span class="sr-only">Previous</span>
 </a>
 <a class="right carousel-control" href="#myCarousel" role="button" data-slide="next">
 <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
 <span class="sr-only">Next</span>
 </a>

在javascript中操作

初始化

$('.carousel').carousel({
 interval: 2000
})

进行循环

.carousel('cycle')

暂停

.carousel('pause')

定位到具体某一个item 从0开始

.carousel(number)

前一个

.carousel('prev')

下一个

.carousel('next')

关于Bootstrap的更多内容大家还可以参考专题进行学习: 《Bootstrap学习教程》

以上就是针对javascript图片轮播进行的详细介绍,希望本文对大家学习javascript程序设计有所帮助。

Javascript 相关文章推荐
JavaScript判断前缀、后缀是否是空格的方法
Apr 15 Javascript
jQuery判断指定id的对象是否存在的方法
May 22 Javascript
分享JavaScript与Java中MD5使用两个例子
Dec 23 Javascript
微信小程序 video详解及简单实例
Jan 16 Javascript
详解AngularJS1.6版本中ui-router路由中/#!/的解决方法
May 22 Javascript
vue组件 $children,$refs,$parent的使用详解
Jul 31 Javascript
vue中的scope使用详解
Oct 29 Javascript
深入理解JavaScript的async/await
Aug 05 Javascript
JavaScript创建对象方法实例小结
Sep 03 Javascript
js消除图片小游戏代码
Dec 11 Javascript
基于Vue CSR的微前端实现方案实践
May 27 Javascript
vue中destroyed方法的使用说明
Jul 21 Javascript
JS创建事件的三种方法(实例代码)
May 12 #Javascript
jQuery判断checkbox选中状态
May 12 #Javascript
Bootstrap3制作自己的导航栏
May 12 #Javascript
基于Bootstrap重置输入框内容按钮插件
May 12 #Javascript
jquery ajax局部加载方法详解(实现代码)
May 12 #Javascript
分享12个非常实用的JavaScript小技巧
May 11 #Javascript
分享10个优化代码的CSS和JavaScript工具
May 11 #Javascript
You might like
关于PHP虚拟主机概念及如何选择稳定的PHP虚拟主机
2018/11/20 PHP
PHP addAttribute()函数讲解
2019/02/03 PHP
jQuery 表单验证扩展(三)
2010/10/20 Javascript
深入理解JavaScript系列(8) S.O.L.I.D五大原则之里氏替换原则LSP
2012/01/15 Javascript
整理的比较全的event对像在ie与firefox浏览器中的区别
2013/11/25 Javascript
jQuery实现仿美橙互联两级导航菜单的方法
2015/03/09 Javascript
js省市联动效果完整实例代码
2015/12/09 Javascript
JS+CSS实现DIV层的展开、收缩效果
2016/01/28 Javascript
JavaScript获取短信验证码(周期性)
2016/12/29 Javascript
loading动画特效小结
2017/01/22 Javascript
AngularJs 常用的过滤器
2017/05/15 Javascript
基于Vue实例对象的数据选项
2017/08/09 Javascript
jquery.param()实现数组或对象的序列化方法
2018/10/08 jQuery
apicloud拉起小程序并传递参数的方法示例
2018/11/21 Javascript
详解vue挂载到dom上会发生什么
2019/01/20 Javascript
小程序实现点击tab切换左右滑动
2020/11/16 Javascript
[11:01]2014DOTA2西雅图邀请赛 冷冷带你探秘威斯汀
2014/07/08 DOTA
[03:15]2014DOTA2国际邀请赛 专访国士无双信心满满
2014/07/12 DOTA
Python实现二叉搜索树
2016/02/03 Python
Python中表达式x += y和x = x+y 的区别详解
2017/06/20 Python
Python MySQLdb 使用utf-8 编码插入中文数据问题
2018/03/13 Python
Pandas中Series和DataFrame的索引实现
2019/06/27 Python
python自动化测试之异常及日志操作实例分析
2019/11/09 Python
python运用pygame库实现双人弹球小游戏
2019/11/25 Python
浅谈matplotlib.pyplot与axes的关系
2020/03/06 Python
python爬虫利用代理池更换IP的方法步骤
2021/02/21 Python
5个HTML5的常用本地存储方式详解与介绍
2021/03/27 HTML / CSS
初中学习计划书范文
2014/09/15 职场文书
学生检讨书范文
2014/10/30 职场文书
2014教师评职称工作总结
2014/11/10 职场文书
心术观后感
2015/06/11 职场文书
小学运动会入场口号
2015/12/24 职场文书
反邪教学习心得体会
2016/01/15 职场文书
Vue h函数的使用详解
2022/02/18 Vue.js
Vue中Object.assign清空数据报错的解决方案
2022/03/03 Vue.js
Java完整实现记事本代码
2022/06/16 Java/Android