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 相关文章推荐
JavaScript 设计模式 安全沙箱模式
Sep 24 Javascript
jquery实现ajax提交form表单的方法总结
Mar 03 Javascript
jQuery简单实现中间浮窗效果
Sep 04 Javascript
bootstrap滚动监控器使用方法解析
Jan 13 Javascript
easyUI下拉列表点击事件使用方法
May 18 Javascript
详解axios 全攻略之基本介绍与使用(GET 与 POST)
Sep 15 Javascript
vue中简单弹框dialog的实现方法
Feb 26 Javascript
webpack 从指定入口文件中提取公共文件的方法
Nov 13 Javascript
更强大的vue ssr实现预取数据的方式
Jul 19 Javascript
webpack打包html里面img后src为“[object Module]”问题
Dec 22 Javascript
Node.js API详解之 console模块用法详解
May 12 Javascript
jQuery 隐藏/显示效果函数用法实例分析
May 20 jQuery
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实现ping
2006/10/09 PHP
PHPlet在Windows下的安装
2006/10/09 PHP
消息持续发送的完整例子
2006/10/09 PHP
PHP简单实现文本计数器的方法
2016/04/28 PHP
完美利用Yii2微信后台开发的系列总结
2016/07/18 PHP
js网页中的(运行代码)功能实现思路
2013/02/04 Javascript
详解javascript高级定时器
2015/12/31 Javascript
jQuery文本框得到与失去焦点动态改变样式效果
2016/09/08 Javascript
完美解决IE9浏览器出现的对象未定义问题
2016/09/29 Javascript
微信小程序 实战程序简易新闻的制作
2017/01/09 Javascript
jQuery多选框选择数量限制方法
2017/02/08 Javascript
ionic实现底部分享功能
2017/05/11 Javascript
Angularjs验证用户输入的字符串是否为日期时间
2017/06/01 Javascript
JS基于封装函数实现的表格分页完整示例
2018/06/26 Javascript
tracking.js页面人脸识别插件使用方法
2020/04/16 Javascript
详解Vue用cmd创建项目
2019/02/12 Javascript
vue监听滚动事件的方法
2020/12/21 Vue.js
[01:10]DOTA2 Supermajor:英雄,由我们见证
2018/05/14 DOTA
python线程锁(thread)学习示例
2013/12/04 Python
django静态文件加载的方法
2018/05/20 Python
Python3实现获取图片文字里中文的方法分析
2018/12/13 Python
Python语言异常处理测试过程解析
2020/01/08 Python
Python如何在bool函数中取值
2020/09/21 Python
pycharm使用技巧之自动调整代码格式总结
2020/11/04 Python
宝拉珍选美国官网:Paula’s Choice美国
2018/01/07 全球购物
全球最大的生存食品、水和装备专用在线市场:BePrepared.com
2020/01/02 全球购物
编写strcpy函数
2014/06/24 面试题
运动会入场词100字
2014/02/06 职场文书
艾滋病宣传活动总结
2014/05/08 职场文书
三好学生个人先进事迹材料
2014/05/17 职场文书
企业委托书范本
2014/09/13 职场文书
2014年高校辅导员工作总结
2014/12/09 职场文书
安全教育第一课观后感
2015/06/17 职场文书
幼儿园大班教师评语
2019/06/21 职场文书
python 如何做一个识别率百分百的OCR
2021/05/29 Python
Java字符缓冲流BufferedWriter
2022/04/09 Java/Android