全面解析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 相关文章推荐
js用图作提交按钮或超连接
Mar 26 Javascript
jQuery右键菜单contextMenu使用实例
Sep 28 Javascript
js制作的鼠标悬浮时产生的下拉框效果
Oct 27 Javascript
基于datagrid框架的查询
Apr 08 Javascript
Javacript实现颜色梯度变化和渐变的效果代码
May 31 Javascript
jquery 自定义容器下雨效果可将下雨图标改为其他
Apr 23 Javascript
jQuery判断数组是否包含了指定的元素
Mar 10 Javascript
第十篇BootStrap轮播插件使用详解
Jun 21 Javascript
原生js实现瀑布流布局
Mar 08 Javascript
浅谈angular.js跨域post解决方案
Aug 30 Javascript
详解使用vuex进行菜单管理
Dec 21 Javascript
微信小程序 button样式设置为图片的方法
Jun 19 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
PHP实现图片不变型裁剪及图片按比例裁剪的方法
2016/01/14 PHP
DOM相关内容速查手册
2007/02/07 Javascript
javascript下阻止表单重复提交、防刷新、防后退
2007/08/17 Javascript
js 禁止选择功能实现代码(兼容IE/Firefox)
2010/04/23 Javascript
js实现的早期滑动门菜单效果代码
2015/08/27 Javascript
灵活的理解JavaScript中的this指向
2016/02/25 Javascript
javascript实现不同颜色Tab标签切换效果
2016/04/27 Javascript
JS 对象(Object)和字符串(String)互转方法
2016/05/20 Javascript
jQuery Mobile和HTML5开发App推广注册页
2016/11/07 Javascript
JS调用打印机功能简单示例
2016/11/28 Javascript
jQuery基于Ajax方式提交表单功能示例
2017/02/10 Javascript
Bootstrap进度条实现代码解析
2017/03/07 Javascript
jQuery 循环遍历改变a标签的href(实例讲解)
2017/07/12 jQuery
基于vue-cli配置lib-flexible + rem实现移动端自适应
2017/12/26 Javascript
JavaScript复制内容到剪贴板的两种常用方法
2018/02/27 Javascript
layui对工具条进行选择性的显示方法
2019/09/19 Javascript
Vue2.0 实现页面缓存和不缓存的方式
2019/11/12 Javascript
Python实现从百度API获取天气的方法
2015/03/11 Python
python删除特定文件的方法
2015/07/30 Python
详解python中requirements.txt的一切
2017/03/03 Python
Python设计模式之代理模式简单示例
2018/01/09 Python
Python爬虫爬取新浪微博内容示例【基于代理IP】
2018/08/03 Python
python实现简单登陆系统
2018/10/18 Python
Python正则表达式和元字符详解
2018/11/29 Python
python utc datetime转换为时间戳的方法
2019/01/15 Python
Python弹出输入框并获取输入值的实例
2019/06/18 Python
pycharm通过ssh连接远程服务器教程
2020/02/12 Python
自考生毕业自我鉴定
2013/10/10 职场文书
总经理工作职责范文
2014/03/14 职场文书
师范生求职自荐信
2014/06/14 职场文书
本科应届生求职信
2014/08/05 职场文书
事业单位年度考核评语
2014/12/31 职场文书
小学教师自我评价
2015/03/04 职场文书
开展警示教育活动总结
2015/05/09 职场文书
2019运动会广播加油稿汇总
2019/08/21 职场文书
MySQL中的布尔值,怎么存储false或true
2021/06/04 MySQL