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 相关文章推荐
jQuery创建自己的插件(自定义插件)的方法
Jun 10 Javascript
window.location.hash 使用说明
Nov 08 Javascript
如何用JavaScript动态呼叫函数(两种方式)
May 03 Javascript
JavaScript将字符串转换成字符编码列表的方法
Mar 19 Javascript
JS根据生日算年龄的方法
May 05 Javascript
JavaScript生成SQL查询表单的方法
Aug 13 Javascript
AngularJS基础 ng-cloak 指令简单示例
Aug 01 Javascript
javascript实现简单的on事件绑定
Aug 23 Javascript
jquery与ajax获取特殊字符实例详解
Jan 08 Javascript
angularJS模态框$modal实例代码
May 27 Javascript
ES6中的迭代器、Generator函数及Generator函数的异步操作方法
May 12 Javascript
vue日历/日程提醒/html5本地缓存功能
Sep 02 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 无法加载mysql的module的时候的配置的解决方案引发的思考
2012/01/27 PHP
php中引用符号(&amp;)的使用详解
2013/11/13 PHP
php简单实现无限分类树形列表的方法
2015/03/27 PHP
JS 事件绑定函数代码
2010/04/28 Javascript
Array的push与unshift方法性能比较分析
2011/03/05 Javascript
jquery 简短几句代码实现给元素动态添加及获取提示信息
2011/09/01 Javascript
使用js声明数组,对象在jsp页面中(获得ajax得到json数据)
2013/11/05 Javascript
js数组去重的常用方法总结
2014/01/24 Javascript
JS+DIV+CSS排版布局实现美观的选项卡效果
2015/10/10 Javascript
基于jQuery实现Ajax验证用户名是否存在实例
2016/03/30 Javascript
JS函数的定义与调用方法推荐
2016/05/12 Javascript
Augularjs-起步详解
2016/07/08 Javascript
原生js实现节日时间倒计时功能
2017/01/18 Javascript
Vue 表单控件绑定的实现示例
2017/08/11 Javascript
Windows下使用Nodejs运行js的方法
2017/09/02 NodeJs
react以create-react-app为基础创建项目
2018/03/14 Javascript
Angular resolve基础用法详解
2018/10/03 Javascript
react-router4按需加载(踩坑填坑)
2019/01/06 Javascript
JS简易计算器实例讲解
2020/06/30 Javascript
Electron 打包问题:electron-builder 下载各种依赖出错(推荐)
2020/07/09 Javascript
Vue组件生命周期运行原理解析
2020/11/25 Vue.js
[44:30]完美世界DOTA2联赛PWL S2 GXR vs Magma 第一场 11.25
2020/11/26 DOTA
用Python实现命令行闹钟脚本实例
2016/09/05 Python
Python导入模块时遇到的错误分析
2017/08/30 Python
python3 kmp 字符串匹配的方法
2018/07/07 Python
Django实战之用户认证(初始配置)
2018/07/16 Python
浅谈PyQt5中异步刷新UI和Python多线程总结
2019/12/13 Python
Python数据相关系数矩阵和热力图轻松实现教程
2020/06/16 Python
新西兰航空中国官网:Air New Zealand China
2018/07/24 全球购物
Zavvi西班牙:电子游戏、极客服装、Blu-ray、Funko Pop等
2019/05/03 全球购物
大学生学习生活的自我评价
2013/11/01 职场文书
小学生竞选班干部演讲稿
2014/04/24 职场文书
2014年政协工作总结
2014/12/09 职场文书
2015年治庸问责工作总结
2015/07/27 职场文书
2015年村级财务管理制度
2015/08/04 职场文书
python基础之//、/与%的区别详解
2022/06/10 Python