Bootstrap JavaScript插件:轮播插件 (carousel.js)

简介: Bootstrap 框架

作者:WangMin
格言:努力做好自己喜欢的每一件事

banner.png

Bootstrap 的轮播插件(carousel.js)是一个灵活的、响应式的、无缝循环播放的幻灯片切换插件,它的内容可以是图片、视频、或者其他任何内容。

整体结构

Bootstrap中的轮播由一个 class="carousel" 的容器定义,其中包含轮播指示器、轮播内容、轮播的控制按钮。为了确保在播放时,能够对控制按钮和轮番指示器进行正常定位,需要为容器定义一个 id。

<div id="myBanner" class="carousel" data-ride="carousel">

</div>

1. 轮播指示器

轮播指示器是一个 class="carousel-indicators" 的有序列表,用来指示轮播的播放状态,对用户表现为一系列的小圆圈,实心圆表示当前处于活动状态的轮番条目。

有序列表子元素 li 的个数必须与轮播内容中的元素个数相等。子元素 li 的 data-target 属性值指示目标对象,必须设置为轮播容器的 id 值;data-slide-to 属性指示点击小圆圈时所要播放的轮播条目的索引值(索引从 0 开始)。还可以为默认处于活动状态的轮播条目添加 .active 类。默认是第一个条目处于活动状态。

 <ol class="carousel-indicators">
    <li data-target="#myBanner" data-slide-to="0"></li>
    <li data-target="#myBanner" data-slide-to="1"></li>
    <li data-target="#myBanner" data-slide-to="2" class="active"></li>
 </ol>

2. 轮播内容

轮播内容是一个轮番条目的列表,整个列表包含在一个 class="carousel-inner" 的容器中,列表中可以包含多个轮播条目,每个轮播条目包含在一个 class="item" 的容器中。还可以为默认处于活动状态的轮播条目添加 .active 类。默认是第一个条目处于活动状态。如果添加 .active 类,并确保它与列表指示器中定义的默认状态保持一致。最简单的轮播内容只包含图片就可以了。例如:

 <div class="carousel-inner">
    <div class="item active">
      <img src="../img/timg.jpg" />
    </div>
    <div class="item">
      <img src="../img/boot.png" />
    </div>
 </div>

如果需要给图片添加自定义内容,可以通过一个 class="carousel-caption" 的容器来添加标题和说明。

 <div class="carousel-inner" >
    <div class="item active">
      <img src="../img/timg.jpg" />
      <div class="carousel-caption">
        <h4>Second Thumbnail label</h4>
        <p>Cras justo odio, dapibus ...</p>
      </div>
    </div>
    <div class="item">
      <img src="../img/boot.png" />
      <div class="carousel-caption">
        <h4>Second Thumbnail label</h4>
        <p>Cras justo odio, dapibus ...</p>
      </div>
    </div>
 </div>

3. 轮播的控制按钮

轮播的控制按钮,用来人工控制轮播的播放,它包含两个按钮,一个控制向前播放,一个控制向后播放。通过 .carousel-control 定义按钮的样式,.left 和 .right 定义按钮的方向。href 属性定义轮播包含框的 id。data-slide 属性定义播放顺序,取值 "prev" 表示播放上一个条目,取值 "next" 表示播放下一个条目。

<a class="carousel-control left"  href="#myBanner" data-slide="prev">&lsaquo;</a>
<a class="carousel-control right" href="#myBanner" data-slide="next">&rsaquo;</a>

1.png


调用方式

1. 通过data数据属性

如果不想编写JavaScript代码,就可以使用 data 属性来调用轮播插件,并实现与轮播插件的交互功能。轮播插件需要两个交互功能:一个是点击控制按钮进行切换,一个是点击轮播指示器的小圆点进行切换。

1) 如果希望用户点击控制按钮进行切换,只需为左侧按钮提供 data-slide="prev" 属性,为右侧按钮提供 data-slide="next" 属性即可。

<a class="carousel-control left"  href="#myBanner" data-slide="prev">&lsaquo;</a>
<a class="carousel-control right" href="#myBanner" data-slide="next">&rsaquo;</a>

2)如果希望用户点击轮播指示器的小圆点进行切换,需要为轮播指示器的 元素提供 data-target 和 data-slide-to 属性。data-target 属性的值为轮播包含框的 id,data-slide-to 属性的值为点击小圆圈后,要切换到的轮播条目的索引,即 class="item" 元素的索引,索引从 0 开始。

 <ol class="carousel-indicators">
    <li data-target="#myBanner" data-slide-to="0"></li>
    <li data-target="#myBanner" data-slide-to="1"></li>
    <li data-target="#myBanner" data-slide-to="2" class="active"></li>
 </ol>

2. 通过JavaScript调用轮播

JavaScript调用轮番其实很简单,只需在脚本中调用 carousel() 方法。
Bootstrap还提供了其它一些方法,可以根据需要选择使用:

  • .carousel('cycle'):从左向右循环播放。
  • .carousel('pause'):暂停循环播放。
  • .carousel(number):循环到指定帧(下标从0开始,类似数组)。
  • .carousel('prev'):返回到上一帧。
  • .carousel('next'):播放下一帧。

通过JavaScript调用,虽然轮番可以自动播放,但两个控制按钮还无法正常工作。这时,就可以调用 carousel("prev") 和 carousel("next") 方法,来实现交互功能。

$('.carousel a.left').click(function(){
   
   
      $('.carousel').carousel("prev");
});
$('.carousel a.right').click(function(){
   
   
      $('.carousel').carousel("next");
});

轮播插件的选项

名称 类型 默认值 说明
interval number 5000 自动循环时,每个项目延迟的时间量。如果为 false,轮播将不会自动循环
pause string "hover" 当鼠标进入轮番区域时,暂停循环,鼠标移出时继续循环
wrap boolean true 轮播是否连续循环
keyboard boolean true 轮播是否对键盘事件作出反应

调用 carousel() 方法时,可以将这些选项作为一个对象参数。如下,每个图片显示1秒 :

$('.carousel').carousel(({
   
   
    interval: 1000
});

轮播图事件

事件 含义
slide.bs.carousel 当 slide 实例方法被调用时,立即触发该事件
slid.bs.carousel 当切换完一帧后,触发该事件
$('#myBanner').on('slide.bs.carousel', function () {
   
   
    alert('1');
})

就先分享到这里!! :smile: 后续继续更新!!

目录
相关文章
|
2月前
|
编解码 JavaScript 前端开发
JS逆向浏览器脱环境专题:事件学习和编写、DOM和BOM结构、指纹验证排查、代理自吐环境通杀环境检测、脱环境框架、脱环境插件解决
JS逆向浏览器脱环境专题:事件学习和编写、DOM和BOM结构、指纹验证排查、代理自吐环境通杀环境检测、脱环境框架、脱环境插件解决
58 1
|
2月前
|
JavaScript
js文字如何轮播?
js文字如何轮播?
23 2
|
2月前
|
JavaScript 前端开发
JavaScript基础&实战 JS中正则表达式的使用
这篇文章介绍了JavaScript中正则表达式的使用,包括正则表达式的创建、匹配模式、字符串匹配、拆分、搜索、匹配和替换等方法,并通过示例代码展示了如何应用这些技术。
JavaScript基础&实战 JS中正则表达式的使用
|
2月前
|
JavaScript 前端开发
JavaScript基础&实战(5)js中的数组、forEach遍历、Date对象、Math、String对象
这篇文章介绍了JavaScript中的数组、Date对象、Math对象以及包装类(String、Number、Boolean),并详细讲解了数组的创建、方法(如forEach、push、pop、unshift、slice、splice)和遍历操作,以及工厂方法创建对象和原型对象的概念。
JavaScript基础&实战(5)js中的数组、forEach遍历、Date对象、Math、String对象
|
2月前
|
JavaScript 前端开发
JavaScript基础&实战(4)js中的对象、函数、全局作用域和局部作用域
这篇文章介绍了JavaScript中对象的基本概念和操作,包括对象属性和方法的使用、对象字面量的创建、函数的定义和作用域的概念,以及全局作用域和局部作用域的区别和特性。
JavaScript基础&实战(4)js中的对象、函数、全局作用域和局部作用域
|
2月前
|
Java 数据库连接 数据库
从零到精通:揭秘 Hibernate 构建持久层服务的全过程,你离数据持久化大师还有多远?
【8月更文挑战第31天】本文详细介绍了如何从零开始使用 Hibernate 构建一个持久层服务。首先,通过在 Maven 项目中添加必要的依赖,确保项目具备使用 Hibernate 的条件。接着,配置 `hibernate.cfg.xml` 文件以连接 MySQL 数据库,并设置了基本属性。然后定义了一个简单的 `User` 实体类及其映射关系。此外,还创建了一个 `HibernateUtil` 工具类来管理 `SessionFactory`。
28 0
|
2月前
|
缓存 JavaScript 前端开发
Vue.js与JavaScript性能优化终极揭秘:掌握这些技巧,让你的Web应用飞一般地流畅!
【8月更文挑战第30天】随着前端应用复杂度的增加,性能优化变得至关重要。本文深入探讨了如何利用Vue.js和JavaScript实现高效的应用性能。主要内容包括:优化组件设计以减少不必要的渲染,采用异步组件与懒加载技术加速应用启动,利用虚拟滚动和分页处理大数据集,改进Vuex使用方式以及合理运用浏览器缓存等策略。通过具体示例和最佳实践,帮助开发者充分挖掘Vue.js潜力,打造高性能的前端应用。
48 0
|
2月前
|
存储 JavaScript 前端开发
【Vue.js的神秘力量】一键解锁:如何让Bootstrap和Vuex成为你的开发超能力?
【8月更文挑战第30天】Vue.js是一个轻量且灵活的JavaScript框架,易于上手且功能强大。为提高开发效率和应用交互性,常需集成第三方库。本文介绍如何在Vue.js项目中集成Bootstrap和Vuex,及其它常见第三方库。Bootstrap提供响应式设计和预制组件,通过安装插件和引入CSS/JS即可集成;Vuex作为官方状态管理库,通过安装并创建store来管理组件状态。此外,Vue.js还可轻松集成Axios和Vue Router等库,提升HTTP请求和页面路由功能。合理选择和集成第三方库能显著提升开发效率,但需保持代码可维护性和可读性。
19 0
|
2月前
|
前端开发 JavaScript 开发者
Vue.js 与第三方库的神秘融合:Bootstrap、Vuex 等究竟带来何种惊喜?
【8月更文挑战第30天】Vue.js 作为一款流行的前端框架,凭借其强大的功能和易用性深受开发者喜爱。它不仅能独立运作,还能无缝集成各种第三方库,显著提升开发效率。例如,通过 `vue-bootstrap`,我们可以轻松引入 Bootstrap 的响应式组件,快速打造美观的用户界面;借助 Vuex,Vue 提供的状态管理方案,能有效解决复杂应用中的状态共享难题。此外,诸如 `axios` 和 `moment` 等库也能进一步增强 Vue 的功能,使其成为构建高性能前端应用的理想选择。
29 0
|
2月前
|
设计模式 JavaScript 前端开发
Vue.js 与第三方库的奇妙融合,Bootstrap 和 Vuex 究竟能带来何种意想不到的变革?
【8月更文挑战第30天】在现代Web开发中,结合使用JavaScript设计模式与框架如Vue.js能显著提升代码质量和项目的可维护性。本文探讨了常见JavaScript设计模式及其在Vue.js中的应用。通过具体示例介绍了工厂模式、单例模式和策略模式的应用场景及其实现方法。例如,工厂模式通过`NavFactory`根据用户角色动态创建不同的导航栏组件;单例模式则通过全局事件总线`eventBus`实现跨组件通信;策略模式用于处理不同的表单验证规则。这些设计模式的应用不仅提高了代码的复用性和可维护性,还使得Vue应用更加模块化和灵活。
13 0
下一篇
无影云桌面