Bootstrap每天必学之js插件


Posted in Javascript onNovember 30, 2015

1、Bootstrap 插件概览

在前面 布局组件 章节中所讨论到的组件仅仅是个开始。Bootstrap 自带 12 种 jQuery 插件,扩展了功能,可以给站点添加更多的互动。即使您不是一名高级的 JavaScript 开发人员,您也可以着手学习 Bootstrap 的 JavaScript 插件。利用 Bootstrap 数据 API(Bootstrap Data API),大部分的插件可以在不编写任何代码的情况被触发。

Bootstrap每天必学之js插件

2、导入JavaScript插件

Bootstrap除了包含丰富的Web组件之外,如前面介绍的下拉菜单、按钮组、导航、分页等。他还包括一些JavaScript的插件。

Bootstrap的JavaScript插件可以单独导入到页面中,也可以一次性导入到页面中。因为在Bootstrap中的JavaScript插件都是依赖于jQuery库,所以不论是单独导入还一次性导入之前必须先导入jQuery库。

一次性导入:

Bootstrap提供了一个单一的文件,这个文件包含了Bootstrap的所有JavaScript插件,即bootstrap.js(压缩版本:bootstrap.min.js)。

<!—导入jQuery版本库,因为Bootstrap的JavaScript插件依赖于jQuery -->
<script src="/jquery/1.9.0/jquery.js"></script>
<!—- 一次性导入所有Bootstrap的JavaScript插件(压缩版本) -->
<script src="js/bootstrap.min.js"></script>

单独导入:

为方便单独导入特效文件,Bootstrap V3.2中提供了12种JavaScript插件,他们分别是:

☑ 动画过渡(Transitions):对应的插件文件“transition.js”

☑ 模态弹窗(Modal):对应的插件文件“modal.js”

☑ 下拉菜单(Dropdown):对应的插件文件“dropdown.js”

☑ 滚动侦测(Scrollspy):对应的插件文件“scrollspy.js”

☑ 选项卡(Tab):对应的插件文件“tab.js”

☑ 提示框(Tooltips):对应的插件文件“tooltop.js”

☑ 弹出框(Popover):对应的插件文件“popover.js”

☑ 警告框(Alert):对应的插件文件“alert.js”

☑ 按钮(Buttons):对应的插件文件“button.js”

☑ 折叠/手风琴(Collapse):对应的插件文件“collapse.js”

☑ 图片轮播Carousel:对应的插件文件“carousel.js”

☑ 自动定位浮标Affix:对应的插件文件“affix.js”

3、data 属性

你可以仅仅通过 data 属性 API 就能使用所有的 Bootstrap 插件,无需写一行 JavaScript 代码。这是 Bootstrap 中的一等 API,也应该是你的首选方式。

话又说回来,在某些情况下可能需要将此功能关闭。因此,我们还提供了关闭 data 属性 API 的方法,即解除以 data-api 为命名空间并绑定在文档上的事件。就像下面这样:

$(document).off('.data-api')

如需关闭一个特定的插件,只需要在 data-api 命名空间前加上该插件的名称作为命名空间即可,如下所示:

$(document).off('.alert.data-api')

4、编程方式的 API

我们为所有 Bootstrap 插件提供了纯 JavaScript 方式的 API。所有公开的 API 都是支持单独或链式调用方式,并且返回其所操作的元素集合(注:和jQuery的调用形式一致)。例如:

$(".btn.danger").button("toggle").addClass("fat")

所有的方法都可以接受一个可选的选项对象作为参数,或者一个代表特定方法的字符串,或者不带任何参数(这种情况下,将会初始化插件为默认行为),如下所示:

// 初始化为默认行为
$("#myModal").modal() 
 // 初始化为不支持键盘 
$("#myModal").modal({ keyboard: false }) 
// 初始化并立即调用 show
$("#myModal").modal('show')

每个插件在 Constructor 属性上也暴露了其原始的构造函数:$.fn.popover.Constructor。如果您想获取某个特定插件的实例,可以直接通过页面元素获取:

 $('[rel=popover]').data('popover').

5、避免命名空间冲突

某些时候 Bootstrap 插件可能需要与其他 UI 框架一起使用。在这种情况下,可能会发生命名空间冲突。如果不幸发生了这种情况,你可以通过调用插件的 .noConflict 方法恢复其原始值。

// 返回 $.fn.button 之前所赋的值
var bootstrapButton = $.fn.button.noConflict() 
// 为 $().bootstrapBtn 赋予 Bootstrap 功能  
$.fn.bootstrapBtn = bootstrapButton

6、事件

Bootstrap 为大多数插件的独特行为提供了自定义事件。一般来说,这些事件有两种形式:
动词不定式:这会在事件开始时被触发。例如 ex: show。动词不定式事件提供了 preventDefault 功能。这使得在事件开始前可以停止操作的执行。

$('#myModal').on('show.bs.modal', function (e) {
// 阻止模态框的显示
 if (!data) return e.preventDefault() 
})

过去分词形式:这会在动作执行完毕之后被触发。例如 ex: shown。

如果大家还想深入学习,可以点击这里进行学习,再为大家附两个精彩的专题:Bootstrap学习教程 Bootstrap实战教程

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

Javascript 相关文章推荐
关于使用runtimeStyle属性问题讨论文章
Mar 08 Javascript
JS 创建对象(常见的几种方法)
Nov 03 Javascript
JS Range HTML文档/文字内容选中、库及应用介绍
May 12 Javascript
js动态改变select选择变更option的index值示例
Jul 10 Javascript
js中style.display=&quot;&quot;无效的解决方法
Oct 30 Javascript
js闭包所用的场合以及优缺点分析
Jun 22 Javascript
JavaScript的ExtJS框架中数面板TreePanel的使用实例解析
May 21 Javascript
Bootstrap中的fileinput 多图片上传及编辑功能
Sep 05 Javascript
浅析jsopn跨域请求原理及cors(跨域资源共享)的完美解决方法
Feb 06 Javascript
vue element-ui 绑定@keyup事件无效的解决方法
Mar 09 Javascript
jQuery实现获取动态添加的标签对象示例
Jun 28 jQuery
阿望教你用vue写扫雷小游戏
Jan 20 Javascript
Bootstrap每天必学之面板
Nov 30 #Javascript
Bootstrap每天必学之媒体对象
Nov 30 #Javascript
javascript针对cookie的基本操作实例详解
Nov 30 #Javascript
javascript闭包(Closure)用法实例简析
Nov 30 #Javascript
详解JavaScript的流程控制语句
Nov 30 #Javascript
详解JavaScript的表达式与运算符
Nov 30 #Javascript
Bootstrap每天必学之进度条
Nov 30 #Javascript
You might like
PHP开发框架总结收藏
2008/04/24 PHP
Laravel实现用户注册和登录
2015/01/23 PHP
PHP日期函数date格式化UNIX时间的方法
2015/03/19 PHP
php 截取utf-8格式的字符串实例代码
2016/10/30 PHP
PHP 实现从数据库导出到.csv文件方法
2017/07/06 PHP
PHP实现时间比较和时间差计算的方法示例
2017/07/24 PHP
PHP基于curl post实现发送url及相关中文乱码问题解决方法
2017/11/25 PHP
详解php中生成标准uuid(guid)的方法
2019/04/28 PHP
Thinkphp5.0 框架Model模型简单用法分析
2019/10/11 PHP
[JS]点出统计器
2020/10/11 Javascript
JS 参数传递的实际应用代码分析
2009/09/13 Javascript
javascript学习笔记(五)正则表达式
2011/04/08 Javascript
Javascript的&amp;&amp;和||的另类用法
2014/07/23 Javascript
ECharts仪表盘实例代码(附源码下载)
2016/02/18 Javascript
jQuery 利用$.ajax 时获取原生XMLHttpRequest 对象的方法
2016/08/25 Javascript
bootstrap中使用google prettify让代码高亮的方法
2016/10/21 Javascript
vue中使用vue-router切换页面时滚动条自动滚动到顶部的方法
2017/11/28 Javascript
微信小程序实现美团菜单
2018/06/06 Javascript
nodejs 如何手动实现服务器
2018/08/20 NodeJs
vue keep-alive列表页缓存 详情页返回上一页不刷新,定位到之前位置
2019/11/26 Javascript
原生js实现二级联动菜单
2019/11/27 Javascript
vue 中的 render 函数作用详解
2020/02/28 Javascript
Taro UI框架开发小程序实现左滑喜欢右滑不喜欢效果的示例代码
2020/05/18 Javascript
详解vue3.0 diff算法的使用(超详细)
2020/07/01 Javascript
python解析xml文件操作实例
2014/10/05 Python
Python上下文管理器和with块详解
2017/09/09 Python
Python处理文本换行符实例代码
2018/02/03 Python
基于Python下载网络图片方法汇总代码实例
2020/06/24 Python
python switch 实现多分支选择功能
2020/12/21 Python
Lentiamo比利时:便宜的隐形眼镜
2020/02/14 全球购物
2014年学雷锋活动总结
2014/06/26 职场文书
甜品店创业计划书
2014/08/14 职场文书
2014年员工工作总结范文
2014/11/18 职场文书
学雷锋团日活动总结
2015/05/06 职场文书
MySQL 使用事件(Events)完成计划任务
2021/05/24 MySQL
Python音乐爬虫完美绕过反爬
2021/08/30 Python