全面解析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 跨域访问解决方案
Feb 14 Javascript
js 页面传参数时 参数值含特殊字符的问题
Dec 13 Javascript
js解析与序列化json数据(一)json.stringify()的基本用法
Feb 01 Javascript
javascript如何创建表格(javascript绘制表格的二种方法)
Dec 10 Javascript
jquery Ajax 实现加载数据前动画效果的示例代码
Feb 07 Javascript
使用JavaScript获取电池状态的方法
May 03 Javascript
返回顶部按钮响应滚动且动态显示与隐藏
Oct 14 Javascript
移动端翻页插件dropload.js(支持Zepto和jQuery)
Jul 27 Javascript
详解Chai.js断言库API中文文档
Jan 31 Javascript
jQuery实现鼠标响应式淘宝动画效果示例
Feb 13 jQuery
Vue中使用webpack别名的方法实例详解
Jun 19 Javascript
小程序实现上下切换位置
Nov 16 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/03/02 国漫
如何在PHP中使用Oracle数据库(4)
2006/10/09 PHP
php加速器eAccelerator的配置参数、API详解
2014/05/05 PHP
在PHP 7下安装Swoole与Yar,Yaf的方法教程
2017/06/02 PHP
脚本吧 - 幻宇工作室用到js,超强推荐base.js
2006/12/23 Javascript
一个简单的js鼠标划过切换效果
2010/06/30 Javascript
jQuery Validate验证框架经典大全
2015/09/23 Javascript
详解jQuery UI库中文本输入自动补全功能的用法
2016/04/23 Javascript
Javascript 事件冒泡机制详细介绍
2016/10/10 Javascript
js实现控制textarea输入字符串的个数,鼠标按下抬起判断输入字符数
2016/10/25 Javascript
bootstrap日历插件datetimepicker使用方法
2016/12/14 Javascript
Angular 组件之间的交互的示例代码
2018/03/24 Javascript
web页面和微信小程序页面实现瀑布流效果
2018/09/26 Javascript
Typescript 中的 interface 和 type 到底有什么区别详解
2019/06/18 Javascript
微信小程序入口场景的问题集合与相关解决方法
2019/06/26 Javascript
使用Python获取Linux系统的各种信息
2014/07/10 Python
Python深入学习之装饰器
2014/08/31 Python
在Python中操作字符串之replace()方法的使用
2015/05/19 Python
浅析python协程相关概念
2018/01/20 Python
Python操作MySQL数据库的方法
2018/06/20 Python
Python远程开发环境部署与调试过程图解
2019/12/09 Python
使用Python来做一个屏幕录制工具的操作代码
2020/01/18 Python
Python模块/包/库安装的六种方法及区别
2020/02/24 Python
韩国邮政旗下生鲜食品网上超市:epost
2016/08/27 全球购物
加拿大当代时尚服饰、配饰和鞋类专业零售商和制造商:LE CHÂTEAU
2017/10/06 全球购物
荷兰鞋类购物网站:Donelli
2019/05/24 全球购物
Visual-Click葡萄牙:欧洲领先的在线眼镜商
2020/02/17 全球购物
如何配置、使用和清除Smarty缓存
2015/12/23 面试题
感恩节活动方案
2014/01/27 职场文书
婚假请假条怎么写
2014/04/10 职场文书
职业道德模范事迹材料
2014/08/24 职场文书
2014年创卫工作总结
2014/11/24 职场文书
2015年感恩节演讲稿(优选篇)
2015/03/20 职场文书
公司趣味运动会开幕词
2016/03/04 职场文书
redis 查看所有的key方式
2021/05/07 Redis
分享提高 Python 代码的可读性的技巧
2022/03/03 Python