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 相关文章推荐
IE8对JS通过属性和数组遍历解析不一样的地方探讨
May 06 Javascript
jQuery使用之处理页面元素用法实例
Jan 19 Javascript
JS简单实现动画弹出层效果
May 05 Javascript
JavaScript动态改变div属性的实现方法
Jul 22 Javascript
JS实现双击编辑可修改状态的方法
Aug 14 Javascript
浅谈javascript中replace()方法
Nov 10 Javascript
Angular2中Bootstrap界面库ng-bootstrap详解
Oct 18 Javascript
JS实现复制功能
Mar 01 Javascript
windows下vue-cli及webpack搭建安装环境
Apr 25 Javascript
在Vue中使用highCharts绘制3d饼图的方法
Feb 08 Javascript
微信小程序生成二维码的示例代码
Mar 29 Javascript
JavaScript中的各种宽高属性的实现
May 08 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 魔术方法使用说明
2009/10/20 PHP
PHP中实现汉字转区位码应用源码实例解析
2010/06/14 PHP
在PHP中利用wsdl创建标准webservice的实现代码
2011/12/07 PHP
PHP 登录记住密码实现思路
2013/05/07 PHP
解析使用substr截取UTF-8中文字符串出现乱码的问题
2013/06/20 PHP
10个简化PHP开发的工具
2014/12/25 PHP
PHP使用PDO 连接与连接管理操作实例分析
2020/04/21 PHP
jQuery 渐变下拉菜单
2009/12/15 Javascript
jQuery学习笔记 获取jQuery对象
2012/09/19 Javascript
Javascript加载速度慢的解决方案
2014/03/11 Javascript
基于jquery实现发送文章到手机的代码
2014/12/26 Javascript
JQuery记住用户名密码实现下次自动登录功能
2015/04/27 Javascript
Extjs表单输入框异步校验的插件实现方法
2017/03/20 Javascript
在Js页面通过POST传递参数跳转到新页面详解
2017/08/25 Javascript
JS中获取 DOM 元素的绝对位置实例详解
2018/04/23 Javascript
JS实现区分中英文并统计字符个数的方法示例
2018/06/09 Javascript
详解swiper在vue中的应用(以3.0为例)
2018/09/20 Javascript
Node.js console控制台简单用法分析
2019/01/04 Javascript
JavaScript动态添加数据到表单并提交的几种方式
2019/06/26 Javascript
编写更好的JavaScript条件式和匹配条件的技巧(小结)
2019/06/27 Javascript
Hadoop中的Python框架的使用指南
2015/04/22 Python
Python IDLE 错误:IDLE''s subprocess didn''t make connection 的解决方案
2017/02/13 Python
Python设计模式之工厂模式简单示例
2018/01/09 Python
Python对象转换为json的方法步骤
2019/04/25 Python
django云端留言板实例详解
2019/07/22 Python
python 默认参数相关知识详解
2019/09/18 Python
python对Excel按条件进行内容补充(推荐)
2019/11/24 Python
python向图片里添加文字
2019/11/26 Python
解决pyecharts运行后产生的html文件用浏览器打开空白
2020/03/11 Python
浅谈django channels 路由误导
2020/05/28 Python
详解HTML5中div和section以及article的区别
2015/07/14 HTML / CSS
英国最大的电子零件及配件零售商:Partmaster
2017/04/24 全球购物
荷兰网上买鞋:MooieSchoenen.nl
2017/09/12 全球购物
会议邀请函范文
2014/01/09 职场文书
总经理岗位职责描述
2014/02/08 职场文书
悬疑名作《朋友游戏》动画无字ED宣传片 新角色公开
2022/04/13 日漫