全面解析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 相关文章推荐
获取非最后一列td值并将title设为该值的方法
Oct 30 Javascript
巧用局部变量提升javascript性能
Feb 24 Javascript
javascript跨浏览器的属性判断方法
Mar 16 Javascript
深入探讨JavaScript、JQuery屏蔽网页鼠标右键菜单及禁止选择复制
Jun 10 Javascript
Javascript 拖拽雏形中的一些问题(逐行分析代码,让你轻松了拖拽的原理)
Jan 23 Javascript
jQuery结合CSS制作漂亮的select下拉菜单
May 03 Javascript
D3.js实现雷达图的方法详解
Sep 22 Javascript
JS实现滑动门效果的方法详解
Dec 19 Javascript
VUE元素的隐藏和显示(v-show指令)
Jun 23 Javascript
bootstrap模态框嵌套、tabindex属性、去除阴影的示例代码
Oct 17 Javascript
layui数据表格实现重载数据表格功能(搜索功能)
Jul 27 Javascript
JavaScript实现放大镜效果代码示例
Apr 29 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+SqlServer实现分页显示
2006/10/09 PHP
一步一步学习PHP(4) php 函数 补充2
2010/02/15 PHP
与文件上传有关的php配置参数总结
2013/06/14 PHP
关于file_get_contents返回为空或函数不可用的解决方案
2013/06/24 PHP
PHP动态规划解决0-1背包问题实例分析
2015/03/23 PHP
WordPress中用于获取搜索表单的PHP函数使用解析
2016/01/05 PHP
php-fpm服务启动脚本的方法
2018/04/27 PHP
php更新cookie内容的详细方法
2019/09/30 PHP
获取客户端电脑日期时间js代码(jquery)
2012/09/12 Javascript
在图片上显示左右箭头类似翻页的代码
2013/03/04 Javascript
js转义字符介绍
2013/11/05 Javascript
Javascript学习指南
2014/12/01 Javascript
原生JavaScript+LESS实现瀑布流
2014/12/12 Javascript
纯javascript实现分页(两种方法)
2015/08/26 Javascript
javascript简单判断输入内容是否合法的方法
2016/05/11 Javascript
javascript基本语法
2016/05/31 Javascript
微信小程序中使元素占满整个屏幕高度实现方法
2016/12/14 Javascript
实现一个简单的vue无限加载指令方法
2017/01/10 Javascript
Angularjs中date过滤器失效的问题及解决方法
2018/07/06 Javascript
[02:20]DOTA2亚洲邀请赛 EHOME战队出场宣传片
2015/02/07 DOTA
Python中常用操作字符串的函数与方法总结
2016/02/04 Python
python获取当前运行函数名称的方法实例代码
2017/04/06 Python
PyCharm设置SSH远程调试的方法
2018/07/17 Python
TensorFlow打印tensor值的实现方法
2018/07/27 Python
python实现nao机器人手臂动作控制
2019/04/29 Python
浅谈Python编程中3个常用的数据结构和算法
2019/04/30 Python
Python 取numpy数组的某几行某几列方法
2019/10/24 Python
python如何进入交互模式
2020/07/06 Python
CheapTickets泰国:廉价航班,查看促销价格并预订机票
2019/12/28 全球购物
创意爱尔兰礼物:Creative Irish Gifts
2020/01/29 全球购物
英国独特家具和家庭用品购物网站:Cuckooland
2020/08/30 全球购物
德国最大的婴儿用品网上商店:Kidsroom.de(支持中文)
2020/09/02 全球购物
什么是"引用"?申明和使用"引用"要注意哪些问题?
2016/03/03 面试题
党员自我评议个人对照检查材料
2014/09/16 职场文书
村主任“四风”问题个人整改措施
2014/10/04 职场文书
javascript进阶篇深拷贝实现的四种方式
2022/07/07 Javascript