本文实例为大家全面的解析了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、对比图:

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个精彩的专题:

Bootstrap学习教程

Bootstrap实战教程

Bootstrap插件使用教程

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

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

html5carousel图片轮播,全面解析Bootstrap中Carousel轮播的使用方法相关推荐

  1. android 使用 系统字体,Android_解析Android中使用自定义字体的实现方法,1、Android系统默认支持三种字 - phpStudy...

    解析Android中使用自定义字体的实现方法 1.Android系统默认支持三种字体,分别为:"sans", "serif", "monospace ...

  2. 使用php解析url中出现\u002乱码问题的方法

    使用php解析url中出现\u002乱码问题的方法 封装方法 封装方法 //解析url去除\u002 function decodeUnicode($str) {return preg_replace ...

  3. BootStrap中Affix控件的使用方法及如何保持布局的美观

    Affix是BootStrap中的一个很有用的控件,他能够监视浏览器的滚动条的位置并让你的导航始终都在页面的可视区域.一开始的时候,导航在页面中是普通的流式布局,占有文档中固定的位置,当页面滚动的时候 ...

  4. 解决把QQ截图或者QQ聊天的图片复制到wps文档中无法完全显示的简单方法

    虽然wps里面是有截图工具的,但是依然有不少人喜欢用qq截图,而且有时候直接需要的是QQ聊天中的图片,所以有时候写文档时候会直接将QQ的图片复制过来.然而,有一个问题,我们将用qq截图截出来的图片复制 ...

  5. 全面解析JavaScript中对于字符串子串的查询方法

    一.基本应用场景 Q1:给定字符串a="xxx",给定字符串b="xxxxxx",判定a是否为b的子串.(基础手写实现方法) function checkHas ...

  6. word文档图片画红线_在Word中巧妙绘制漂亮分割线的方法

    使用Word编辑文档时,可能为了使某些内容醒目显示,或者为了使文档内容显示的更美观.更有层次感,需要为文档添加一些分割线.在Word 2007中,如果能够掌握一些绘制分割线的小技巧,可以帮助用户快速美 ...

  7. oracle中删除级联方法,解析Oracle中多表级联删除的方法

    创建数据库时为了防止其他人不小心删除操作错误, 所有的外键都没有加级联删除.哪知,不知什么时候自己入了一批错误的数据进去,入库使用的是软件自动的,一下点错给自己带来无尽麻烦啊,删除就不好办了 表间的关 ...

  8. bootstrap中轮播图、模态框、提示框/弹出框、滚动监听、弹性布局、响应式flex、多媒体对象

    轮播图: bootstrap封装了轮播图的功能,其具体如下: 类名 描述 .carousel 创建一个轮播图块的容器,实质是做布局用:且此容器应该有一个di属性,其属性值提供给下面左右按钮href锚点 ...

  9. 微信小程序swiper图片尺寸_微信小程序之swiper轮播图中的图片自适应高度的方法...

    小程序中的轮播图很简单,官方都有例子的,但是唯一的缺陷就是swiper是固定死的150px高度,这样如果传入的图片大于这个高度就会被隐藏.辣么,怎样让图片自适应不同分辨率捏. 我的思路是:获取屏幕宽度 ...

最新文章

  1. 正确退出activity_【单选题】下面退出 Activity 错误的方法是
  2. Vue2.x开发饿了么项目(header部分)
  3. ListView 排序
  4. asp正则替换链接实现伪静态效果
  5. [C++调试笔记]初始化
  6. H5 与 IOS的爱恨情仇(兼容问题)
  7. python 文本相似度_python实现余弦相似度文本比较
  8. CH Round #72树洞[二分答案 DFSBFS]
  9. 车联网及其技术发展趋势
  10. C#_HelloWorld 篇
  11. setTimeout()方法实现延时执行其他功能
  12. unity3d Space Game太空射击游戏资源包
  13. 校验社会统一信用代码JAVA
  14. python使用pywinauto驱动微信客户端实现公众号爬虫
  15. 过去的过去,未来的未来
  16. 8通道250MSPS 14位AD采集FMC子卡
  17. 清华大学五道口金融学院2021年博士生(联合培养项目)招生简章
  18. DWCS6搭建jsp开发环境及使用ajax实现用户注册(基于文件)
  19. OBJECTS IN SEMANTIC TOPOLOGY
  20. Android 2018优秀开源框架整理收藏

热门文章

  1. Codeforces 1131D - Gourmet choice
  2. autojs 抖音抢红包源码
  3. C++设计模式——状态模式(state pattern)
  4. Android:看完这篇文章,我终于理解了漫游是怎么回事
  5. What is DDS? 什么是DDS?(Data Distribute Service,数据分发服务)
  6. 豌豆淘携手腾讯公益,为教育扶贫添砖加瓦
  7. 疫苗预约管理系统——课程设计
  8. 模拟器(duckstation, citra,yuzu,ryujinx)便携绿色化的设置方法
  9. php 在线发邮件,PHPMailer+php完美实现在线发送邮件
  10. PHP发送带附件的电子邮件,php中PHPMailer发送带附件的电子邮件方法_PHP教程