全面解析Bootstrap中Carousel轮播的使用方法


Posted in Javascript onJune 13, 2016

本文实例为大家全面的解析了Bootstrap中Carousel的使用方法,供大家参考,具体内容如下

源码文件:

Carousel.scss
Carousel.js

实现原理:

隐藏所有要显示的元素,然后指定当前要显示的为block,宽、高自适应

源码分析:

 1、Html结构:主要分为以四个部分
  1.1、容器:最外层div,需要一个data-ride=”carousel”来指定为轮播放插件,并且提供一个Id,方便圆圈指示符的关联
  1.2、图片列表部分,用一个外层div包裹所有,然后每个img会被一个div,则class为item的包裹住
  1.3、圆圈指示符:用一个ol列表来显示其各图形列表项,每个列表项需要指定data-slide-to=”index”属性,用于标记当前圆圈的索引号
  1.4、左右控制按钮:实现向左、向右移动的功能
2、Css样式
  2.1、Carousel:只有一个相对定位标记
  2.2、Carousel-inner:旋转图片列表区域,其中每项有item来修饰
   2.2.1、其中的active、next、prev都认为是可见的
   2.2.2、Carousel-caption:表示每个item项应该有标题信息,默认显示下、中位置
  2.3、Carousel-control:设置向左、向右按钮的样式,其中会设置渐变、透明度等信息,提供了icon-prev、icon-next两种额外样式
  2.4、Carousel-indicators:圆圈部分样式,都是绝对定位,每个li设置为行内块元素,用text-indent:-999来隐藏字体
3、Js代码
  3.1、主要核心方法为slide,他实现了图片的切换
    3.1.1、在第一次进行图片切换的时候,都会调用pause方法来暂定定时器,在图片切换完成后才调用cycle方法来启用定时器
    3.1.2、接受的type和next两个参数
      3.1.2.1、Type:表示向上、还是向下换页
      3.1.2.2、Next:本次要显示为活动的Item项,如果不传入则需要通过getItemForDirection方法来获取
    3.1.3、在获取完成$active(当前活动的Item)、$next(需要成为活动项的Item)、isCycling(定时轮播的定时器句柄)、direction(方向)等基本参数
    3.1.4、然后触发slide.bs.carousel事件
    3.1.5、然后设置indicators的索引项
    3.1.6、切换图片,如果支持css动画就用动画切换,否则直接加css来切换
    3.1.7、动画切换原理:
      3.1.7.1、Prev:是向右滚动图片,会组合出的样式:active right(active项) prev right(下一项),这时prev自身为-100%,把图片放在最左边
      3.1.7.2、Next:是向左滚动图片 active left(active项)、next left(下一项),这时next自身为100%,把图片放在最右边
      3.1.7.3、Active right:图片应该是向右,那就应该运动图片宽度的100%
      3.1.7.4、Active left:图片向左,那就应该运行图片宽度的-100%
      3.1.7.5、对比图: 

全面解析Bootstrap中Carousel轮播的使用方法

    3.1.8、实现代码(不包含Css3):  

.carousel-inner > .active,
.carousel-inner > .next,
.carousel-inner > .prev {
 display: block;
}
.carousel-inner > .active {
 left: 0;
}
.carousel-inner > .next,
.carousel-inner > .prev {
 position: absolute;
 top: 0;
 width: 100%;
}
.carousel-inner > .next {
 left: 100%;
}
.carousel-inner > .prev {
 left: -100%;
}
.carousel-inner > .next.left,
.carousel-inner > .prev.right {
 left: 0;
}
.carousel-inner > .active.left {
 left: -100%;
}
.carousel-inner > .active.right {
 left: 100%;
}

如果大家还想深入学习,可以点击这里进行学习,再为大家附3个精彩的专题:

精彩专题分享:jQuery图片轮播 JavaScript图片轮播 Bootstrap图片轮播

以上就是本文的全部内容,希望对大家学习javascript程序设计有所帮助。

Javascript 相关文章推荐
深入理解JavaScript系列(14) 作用域链介绍(Scope Chain)
Apr 12 Javascript
jquery下拉select控件操作方法分享(jquery操作select)
Mar 25 Javascript
js使用心得分享
Jan 13 Javascript
AngularJS的内置过滤器详解
May 14 Javascript
Jquery实现select multiple左右添加和删除功能的简单实例
May 26 Javascript
使用递归遍历对象获得value值的实现方法
Jun 14 Javascript
详解JS数组Reduce()方法详解及高级技巧
Aug 18 Javascript
React操作真实DOM实现动态吸底部的示例
Oct 23 Javascript
详解Vue.js使用Swiper.js在iOS
Sep 10 Javascript
jQuery实现购物车的总价计算和总价传值功能
Nov 28 jQuery
Vue设置长时间未操作登录自动到期返回登录页
Jan 22 Javascript
javascript中layim之查找好友查找群组
Feb 06 Javascript
全面解析Bootstrap中tooltip、popover的使用方法
Jun 13 #Javascript
JavaScript遍历求解数独问题的主要思路小结
Jun 12 #Javascript
Node.js环境下编写爬虫爬取维基百科内容的实例分享
Jun 12 #Javascript
JavaScript解八皇后问题的方法总结
Jun 12 #Javascript
jQuery遍历json的方法(推荐)
Jun 12 #Javascript
jQuery移动端图片上传组件
Jun 12 #Javascript
jQuery通过ajax请求php遍历json数组到table中的代码(推荐)
Jun 12 #Javascript
You might like
重置版游戏视频
2020/04/09 魔兽争霸
PHP实现生成模糊图片的方法示例
2017/12/21 PHP
PHP如何使用array_unshift()在数组开头插入元素
2020/09/01 PHP
将HTML自动转为JS代码
2006/06/26 Javascript
初学Javascript的一些总结
2008/11/03 Javascript
js chrome浏览器判断代码
2010/03/28 Javascript
基于jquery的修改当前TAB显示标题的代码
2010/12/11 Javascript
再说AutoComplete自动补全之实现原理
2011/11/05 Javascript
解析DHTML,JavaScript,DOM,BOM以及WEB标准的描述
2013/06/19 Javascript
Javascript Ajax异步读取RSS文档具体实现
2013/12/12 Javascript
javascript中的__defineGetter__和__defineSetter__介绍
2014/08/15 Javascript
gulp-htmlmin压缩html的gulp插件实例代码
2016/06/06 Javascript
js接收并转化Java中的数组对象的方法
2016/08/11 Javascript
解决bootstrap中使用modal加载kindeditor时弹出层文本框不能输入的问题
2017/06/05 Javascript
jquery.rotate.js实现可选抽奖次数和中奖内容的转盘抽奖代码
2017/08/23 jQuery
微信小程序getPhoneNumber获取用户手机号
2017/09/29 Javascript
Angularjs中date过滤器失效的问题及解决方法
2018/07/06 Javascript
python分割和拼接字符串
2013/11/01 Python
Ubuntu 下 vim 搭建python 环境 配置
2017/06/12 Python
Python中的错误和异常处理简单操作示例【try-except用法】
2017/07/25 Python
使用Python制作微信跳一跳辅助
2018/01/31 Python
python 实现将字典dict、列表list中的中文正常显示方法
2018/07/06 Python
python挖矿算力测试程序详解
2019/07/03 Python
Django CBV类的用法详解
2019/07/26 Python
python json load json 数据后出现乱序的解决方案
2020/02/27 Python
团员个人的自我评价
2013/12/02 职场文书
高中毕业自我鉴定
2013/12/22 职场文书
校园报刊亭创业计划书
2014/01/02 职场文书
物理研修随笔感言
2014/02/14 职场文书
生日主持词
2014/03/20 职场文书
自动化专业大学生职业生涯规划范文:爱拚才会赢
2014/09/12 职场文书
农村党员学习党的群众路线教育实践活动心得体会
2014/11/04 职场文书
jquery插件实现图片悬浮
2021/04/16 jQuery
python基础之文件操作
2021/10/24 Python
MySQL中order by的使用详情
2021/11/17 MySQL
《战锤40K:暗潮》跳票至9月 公布新宣传片
2022/04/03 其他游戏