JavaScript插件——Bootstrap中的JavaScript

独立的文件还是编译后的集成文件

每个插件都可以单独的引入到页面中(通过某些方式控制插件间的依赖关系),或者一次性引入。bootstrap.js bootstrap.min.js 文件都将所有插件包含在一个文件中了。

数据属性

你可以仅仅使用data属性API就可以使用所有Bootstrap中的插件,而且不用写一行JavaScript代码。这是Bootstrap中的一等API,并且是你的首选方式。

特殊情况是,在某些情况下可能需要特意禁用这种默认动作。因此,我们特地提供了禁用data属性API的方式,通过解除绑定在body上的被命名为`'data-api'`的事件即可实现。如下所示:

   
   
  1. $('body').off('.data-api')

还可以解除特定插件的事件绑定,只要将插件名和data-api链接在一起作为参数使用。如下所示:

   
   
  1. $('body').off('.alert.data-api')

使用API

我们也相信你可以完全通过JavaScript API使用Bootstrap所有插件. 所有公共API都是单一, 可链接使用, 和在行为上返回集合.

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

所有方法都应该接受一个可选的对象, 一个字符串, 或什么也不传入(这样会使用插件的默认行为):

   
   
  1. $("#myModal").modal() //默认初始化
  2. $("#myModal").modal({ keyboard: false }) // 初始化没有键盘
  3. $("#myModal").modal('show') // 初始化立即显示

每个插件都在`Constructor`属性公开了其构造函数: $.fn.popover.Constructor. 如果你想获得一个特定插件实例, 可直接从一个元素获取它: $('[rel=popover]').data('popover').

没冲突

有时在使用Bootstrap插件, 还需要使用其他UI框架. 在这种情况下, 命名空间冲突的情况时有发生. 假如发生了冲突情况, 你可以在插件调用 .noConflict.

   
   
  1. var bootstrapButton = $.fn.button.noConflict() // 返回 $.fn.button 之前指定的值
  2. $.fn.bootstrapBtn = bootstrapButton // 给Bootstrap添加 $().bootstrapBtn 功能

事件

Bootstrap对大多数插件独有的行为提供自定义事件. 通常用不定式和过去分词, 如不定式(ex. show)触发事件开始, 和过去分词(ex. shown)触发事件完成.

所有不定式都提供了preventDefault功能. 这能在开始之前终止行为.

   
   
  1. $('#myModal').on('show', function (e) {
  2. if (!data) return e.preventDefault() // stops modal from being shown
  3. })

关于过渡效果

对于简单的过渡效果, 需要包含一个bootstrap-transition.js文件. 假如你使用完整(或精缩版)bootstrap.js, 就不需要再加入该文件, 因为bootstrap.js已经把该文件包含在里面.

使用例子

过渡效果插件的使用案例:

  • 具有幻灯片或淡入效果的对话框
  • 具有淡出效果的标签页
  • 具有淡出效果的警告
  • 具有幻灯片效果的轮播板

例子

类似传统的javascript模态对话框,但更圆滑更灵活,带有最基本的功能和智能默认项。

静态的例子

下面就是一个静态渲染的模态对话框。有标题, 正文, 并且页脚还有可执行操作.

   
   
  1. <div class="modal hide fade">
  2. <div class="modal-header">
  3. <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
  4. <h3>对话框标题</h3>
  5. </div>
  6. <div class="modal-body">
  7. <p>欢迎光临…</p>
  8. </div>
  9. <div class="modal-footer">
  10. <a href="#" class="btn">关闭</a>
  11. <a href="#" class="btn btn-primary">保存更改</a>
  12. </div>
  13. </div>

动态的例子

点击下的按钮会通过javascript触发一个模态对话框。对话框从页面顶端滑下的同时逐渐呈现。

   
   
  1. <!-- Button to trigger modal -->
  2. <a href="#myModal" role="button" class="btn" data-toggle="modal">Launch demo modal</a>
  3.  
  4. <!-- Modal -->
  5. <div id="myModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  6. <div class="modal-header">
  7. <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
  8. <h3 id="myModalLabel">Modal header</h3>
  9. </div>
  10. <div class="modal-body">
  11. <p>One fine body…</p>
  12. </div>
  13. <div class="modal-footer">
  14. <button class="btn" data-dismiss="modal" aria-hidden="true">Close</button>
  15. <button class="btn btn-primary">Save changes</button>
  16. </div>
  17. </div>

用法

通过data属性

我们无须手写javascript即可在页面中触发对话框。只要在某个激发元素上设置 data-toggle="modal" , 像按钮, 针对一个特定的对话框, 可进行data-target="#foo" 或者 href="#foo" 间的切换.设为某个对话框元素的id,这样点击激发元素就会弹出对话框。

   
   
  1. <button type="button" data-toggle="modal" data-target="#myModal">Launch modal</button>

通过JavaScript

用一行JavaScript代码, 调用id为 myModal 的对话框:

   
   
  1. $('#myModal').modal(options)
  2. $('#myModal').modal({
  3. backdrop:true,
  4. keyboard:true,
  5. show:true
  6. });

选项

如果需要带选项的对话框,可以在激发元素或是对话框元素的data-属性中设置选项值, 如 data-backdrop="".

名称类型默认描述
backdrop布尔值true包括一个对话框背景元素. 另外 static(false情况) 背景下, 点击对话框外的区域不会关闭对话框
为true时,显示对话框的遮蔽背景,鼠标点击背景即可关闭对话框。
为false时,无背景。 
keyboard布尔值true按下esc键时关闭对话框.
为true时按下ESC键关闭模态对话框。
为false时无效。 
show布尔值true初始化时显示对话框.
remotepathfalse

如果需要提供远程url, 内容将通过jQuery的load方法加载和注入在.modal-body. 假如你使用数据API, 你可以另外使用 href 标签指定远程源. 如下所示:

       
       
  1. <a data-toggle="modal" href="remote.html" data-target="#modal">click me</a>

方法

.modal(options)

将某个元素变成对话框激活,接受一个 object 做为可选参数。

   
   
  1. $('#myModal').modal({
  2. keyboard: false
  3. })
.modal('toggle')

手动切换对话框打开和关闭。 

   
   
  1. $('#myModal').modal('toggle')
.modal('show')

打开对话框

   
   
  1. $('#myModal').modal('show')
.modal('hide')

关闭对话框

   
   
  1. $('#myModal').modal('hide')

事件

Bootstrap的对话框类扩展了一组事件,可以介入对话框的某些功能实现。

事件描述
show该事件在调用 show 方法时立刻触发。
shown该事件在对话框已经呈现给用户后(要等CSS过渡效果生效后)触发。
hide该事件在对话框使用 hide 方法时立刻触发。
hidden该事件在对话框已经关闭后(要等CSS过渡效果生效后)触发。
   
   
  1. $('#myModal').on('hidden', function () {
  2. // do something…
  3. })

例子

这个简单的插件几乎可以给Bootstrap的任何组件添加下拉项。 Bootstrap导为导航条, 标签导航, 圆角式导航提供完整的下拉菜单特性。

导航条

标签式导航


用法

通过data属性

在链接或按钮上添加 data-toggle="dropdown" 激活下拉项.

   
   
  1. <div class="dropdown">
  2. <a class="dropdown-toggle" data-toggle="dropdown" href="#">Dropdown trigger</a>
  3. <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
  4. ...
  5. </ul>
  6. </div>

为了保持URL完整, 使用 data-target 属性代替 href="#".

   
   
  1. <div class="dropdown">
  2. <a class="dropdown-toggle" id="dLabel" role="button" data-toggle="dropdown" data-target="#" href="/page.html">
  3. Dropdown
  4. <b class="caret"></b>
  5. </a>
  6. <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
  7. ...
  8. </ul>
  9. </div>

通过JavaScript

通过javascript调用下拉项:

   
   
  1. $('.dropdown-toggle').dropdown()

下面这个示例是单独加的,演示了二种不同的调用方式.

   
   
  1. <ul class="nav nav-pills">
  2. <li><a href="#">规则的链接</a></li>
  3. <li class="dropdown" id="droptest">
  4. <a id="droptest" href="#droptest" role="button" class="dropdown-toggle" data-toggle="dropdown">下拉菜单<b class="caret"></b></a>
  5. <ul class="dropdown-menu" role="menu" aria-labeledby="droptest">
  6. <li><a href="#">动作</a></li>
  7. <li><a href="#">另一个动作</a></li>
  8. <li><a href="#">其他</a></li>
  9. <li class="divider"></li>
  10. <li><a href="#">被间隔的链接</a></li>
  11. </ul>
  12. </li>
  13. <!-- 一个按键可以触发点击事件 -->
  14. <li class="active">
  15. <a data-toggle="dropdown" href="#droptest">点击试试</a>
  16. </li>
  17. <!-- 定义一个js触发的事件 -->
  18. <li>
  19. <a id="menutest2" href="#droptest">JavaScript触发</a>
  20. </li>
  21.  
  22. JavaScript代码如下:
  23. <script type="text/javascript">
  24. jQuery(document).ready(function($) {
  25. $('#menutest2').dropdown();
  26. });
  27. </script>

选项

没有

方法

$().dropdown('toggle')

用于激活某个导航条/标签页导航栏下的菜单

使用滚动侦测的导航条例子

该插件根据滚动条的位置, 自动更新导航条选项的目标. 滚动导航条下方的区域并观察变化. 同样的, 下拉菜单的子项也会被高亮显示出来.

滚动下面的内容区域,然后观察导航条状态,导航条中的菜单甚至下拉项都会同步高亮。试一下!

@fat

Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.

@mdo

Veniam marfa mustache skateboard, adipisicing fugiat velit pitchfork beard. Freegan beard aliqua cupidatat mcsweeney's vero. Cupidatat four loko nisi, ea helvetica nulla carles. Tattooed cosby sweater food truck, mcsweeney's quis non freegan vinyl. Lo-fi wes anderson +1 sartorial. Carles non aesthetic exercitation quis gentrify. Brooklyn adipisicing craft beer vice keytar deserunt.

one

Occaecat commodo aliqua delectus. Fap craft beer deserunt skateboard ea. Lomo bicycle rights adipisicing banh mi, velit ea sunt next level locavore single-origin coffee in magna veniam. High life id vinyl, echo park consequat quis aliquip banh mi pitchfork. Vero VHS est adipisicing. Consectetur nisi DIY minim messenger bag. Cred ex in, sustainable delectus consectetur fanny pack iphone.

two

In incididunt echo park, officia deserunt mcsweeney's proident master cleanse thundercats sapiente veniam. Excepteur VHS elit, proident shoreditch +1 biodiesel laborum craft beer. Single-origin coffee wayfarers irure four loko, cupidatat terry richardson master cleanse. Assumenda you probably haven't heard of them art party fanny pack, tattooed nulla cardigan tempor ad. Proident wolf nesciunt sartorial keffiyeh eu banh mi sustainable. Elit wolf voluptate, lo-fi ea portland before they sold out four loko. Locavore enim nostrud mlkshk brooklyn nesciunt.

three

Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.

Keytar twee blog, culpa messenger bag marfa whatever delectus food truck. Sapiente synth id assumenda. Locavore sed helvetica cliche irony, thundercats you probably haven't heard of them consequat hoodie gluten-free lo-fi fap aliquip. Labore elit placeat before they sold out, terry richardson proident brunch nesciunt quis cosby sweater pariatur keffiyeh ut helvetica artisan. Cardigan craft beer seitan readymade velit. VHS chambray laboris tempor veniam. Anim mollit minim commodo ullamco thundercats.


用法

通过data属性

可以很容易的在顶部导航条添加监听滚动功能, 只需把data-spy="scroll"添加到你想监听的元素(最典型的就是添加到body)并添加data-target=".navbar"来选择使用哪个导航. 你将会希望在.nav组件使用监听滚动功能.

   
   
  1. <body data-spy="scroll" data-target=".navbar">...</body>

通过JavaScript

通过javascript调用滚动侦测:

   
   
  1. $('#navbar').scrollspy()
注意! 导航条链接都必须带有一个ID. 比如, <a href="#home">home</a> 在DOM中必须有东西来对应, 像 <div id="home"></div>.

方法

.scrollspy('refresh')

如果监听滚动和添加移除节点连同一起使用, 你需要调用refresh方法, 像这样:

   
   
  1. $('[data-spy="scroll"]').each(function () {
  2. var $spy = $(this).scrollspy('refresh')
  3. });

选项

选项的传递可通过数据属性或JavaScript. 对于data属性, 需要附加选项名称 data-, 如 data-offset="".

名称样式默认描述
offsetnumber10计算从顶部到滚动的位置的偏移量(像素).

事件

事件描述
activate事件在每个新的项目被激活的时候触发.

例子

通过点击标签页甚至还可以是下拉菜单切换显示不同容器中的内容。

Raw denim you probably haven't heard of them jean shorts Austin. Nesciunt tofu stumptown aliqua, retro synth master cleanse. Mustache cliche tempor, williamsburg carles vegan helvetica. Reprehenderit butcher retro keffiyeh dreamcatcher synth. Cosby sweater eu banh mi, qui irure terry richardson ex squid. Aliquip placeat salvia cillum iphone. Seitan aliquip quis cardigan american apparel, butcher voluptate nisi qui.


用法

通过data属性

你可以无需写任何JavaScript来激活标签式或圆角式的导航, 只需在元素上简单的指定 data-toggle="tab" data-toggle="pill". 在标签 ul 添加 navnav-tabs 属性, 将应用Bootstrap标签样式.

   
   
  1. <ul class="nav nav-tabs">
  2. <li><a href="#home" data-toggle="tab">首页</a></li>
  3. <li><a href="#profile" data-toggle="tab">介绍</a></li>
  4. <li><a href="#messages" data-toggle="tab">消息</a></li>
  5. <li><a href="#settings" data-toggle="tab">设置</a></li>
  6. </ul>

通过JavaScript

通过JavaScript启用可切换标签 (每个标签都需要单独激活):

   
   
  1. $('#myTab a').click(function (e) {
  2. e.preventDefault();
  3. $(this).tab('show');
  4. })

你可以以多种方式激活标签:

   
   
  1. $('#myTab a[href="#profile"]').tab('show'); // 通过名字选择
  2. $('#myTab a:first').tab('show'); // 选择第一个标签
  3. $('#myTab a:last').tab('show'); // 择最后一个标签
  4. $('#myTab li:eq(2) a').tab('show'); // 选择第三个标签

方法

$().tab

激活一个标签页元素和内容容器。标签页应该含有 data-targethref 属性以指向dom中的某个容器节点。

   
   
  1. <ul class="nav nav-tabs" id="myTab">
  2. <li class="active"><a href="#home">首页</a></li>
  3. <li><a href="#profile">介绍</a></li>
  4. <li><a href="#messages">消息</a></li>
  5. <li><a href="#settings">设置</a></li>
  6. </ul>
  7.  
  8. <div class="tab-content">
  9. <div class="tab-pane active" id="home">...</div>
  10. <div class="tab-pane" id="profile">...</div>
  11. <div class="tab-pane" id="messages">...</div>
  12. <div class="tab-pane" id="settings">...</div>
  13. </div>
  14.  
  15. <script>
  16. $(function () {
  17. $('#myTab a:last').tab('show');
  18. })
  19. </script>

事件

事件描述
show该事件在标签开始展示时(尚未渲染完之前)触发。 event.target 指向要激活的标签, event.relatedTarget 提向之前已激活的标签(如果有的话)。
shown该事件在标签已经呈现后(已渲染完成)触发。 event.target 指向要激活的标签, event.relatedTarget 提向之前已激活的标签(如果有的话)。
   
   
  1. $('a[data-toggle="tab"]').on('shown', function (e) {
  2. e.target // 当前活动的标签
  3. e.relatedTarget // 上一个选择的标签
  4. })

例子

受Jason Frame所写的出色的jQuery.tipsy插件所启发,我们编写了工具提示。做为前者的升级版,工具提示不依赖于图像, 使用css3显示动画效果,利用data-属性对标题做本地化存储。

出于性能方面的考虑, 提示工具和提示框的data-apis默认是加入的, 这意味着你必须初始化它们.

将鼠标停悬在下面的链接上查看提示:


拥有四个方

在input中的提示

当在Bootstrap的input中使用提示工具和提示框时, 为了避免出现不必要的影响, 你需要设置container选项(文档下面有说明).


用法

通过data属性

出于性能的考虑,在使用工具提示和弹出提示时建议利用data-api属性,再指定一个selector选项即可。

   
   
  1. <a href="#" data-toggle="tooltip" title="first tooltip">鼠标经过时生效</a>

通过JavaScript

通过javascript触发工具提示:

   
   
  1. $('#example').tooltip(options)

选项

选项的传递可通过数据属性或JavaScript. 对于数据属性, 需要附加选项名称 data-, 如 data-animation="".

名称类型默认描述
animation布尔值true为工具提示添加一个淡入的过渡。
html布尔值false在提示工具插入HTML. 假如是false, jquery的 text 方法将用来插入内容到DOM. 如果担心XSS攻击, 可以使用文本.
placement字符串或函数'top'具体提示的位置:top | bottom | left | right。
selector字符串false如果提供了selector,将对符合条件的某个或多个元素启用工具提示。
title字符串或函数''假如`title`标签不存在, 将显示默认的标题值.
trigger字符串'hover focus'如何触发提示工具 - click | hover | focus | manual
delay数字或对象0

显示和隐藏时的延迟时间(以毫秒计)

如果提供的是一个数字,延迟就会同时被应用到显示和隐藏。

如果是一个对象,其结构就是: delay: { show: 500, hide: 100 }

container字符串 | falsefalse

把提示工具追加到特定的元素, 如: container: 'body'

注意! 每个工具提示都可以单独通过设置data-属性以实现与javascript调用同样的功能

方法

$().tooltip(options)

对某个元素集合添加工具提示的处理。

.tooltip('show')

显示某个元素的工具提示。

   
   
  1. $('#element').tooltip('show')
.tooltip('hide')

隐藏某个元素的工具提示。

   
   
  1. $('#element').tooltip('hide')
.tooltip('toggle')

切换某个元素的工具提示的隐藏和显示状态。

   
   
  1. $('#element').tooltip('toggle')
.tooltip('destroy')

隐藏和摧毁提示工具.

   
   
  1. $('#element').tooltip('destroy')

例子

与iPad上的查看二级信息的效果相像,将鼠标停悬在按钮上触发提示框。需要 包含

静态提示框

提供四个方向: 上, 右, 下, 左

Sed posuere consectetur est at lobortis. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum.

Sed posuere consectetur est at lobortis. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum.

Sed posuere consectetur est at lobortis. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum.

Sed posuere consectetur est at lobortis. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum.

由JavaScript和内容包含在data属性所产生的提示框可以无需写标记.

演示

四个方向

用法

通过data属性

对于性能方面的考虑, 提示工具和提示框都建议使用data-api. 假如你想使用他们, 只需指定一个选择器选项.

   
   
  1. <a href="#" class="btn btn-large btn-danger" rel="popover" title="标题" data-content="And here's some amazing content. It's very engaging. right?">点击这个弹出提示</a>

通过JavaScript

使用javascript启用弹出提示:

   
   
  1. $('#example').popover(options)

选项

选项的传递可通过数据属性或JavaScript. 对于数据属性, 需要附加选项名称 data-, 如 data-animation="".

名称类型默认描述
animation布尔值true为工具提示添加一个淡入的过渡。
html布尔值false在提示工具插入HTML. 假如是false, jquery的 text 方法将用来插入内容到DOM. 如果担心XSS攻击, 可以使用文本.
placement字符串或函数'right'具体提示的位置:top | bottom | left | right。
selector字符串false如果提供了selector,将对符合条件的某个或多个元素启用工具提示。
title字符串或函数''假如`title`标签不存在, 将显示默认的标题值.
trigger字符串'click'如何触发提示工具 - click | hover | focus | manual
content字符串或函数''假如`data-content`属性不存在, 将显示默认内容值.
delay数字或对象0

显示和隐藏时的延迟时间(以毫秒计)

如果提供的是一个数字,延迟就会同时被应用到显示和隐藏。

如果是一个对象,其结构就是: delay: { show: 500, hide: 100 }

container字符串 | falsefalse

把提示工具追加到特定的元素, 如: container: 'body'

注意! 每个工具提示都可以单独通过设置data-属性以实现与javascript调用同样的功能

方法

$().popover(options)

初始化提示框的元素集合

.popover('show')

显示提示框

   
   
  1. $('#element').popover('show')
.popover('hide')

隐藏提示框.

   
   
  1. $('#element').popover('hide')
.popover('toggle')

切换提示框.

   
   
  1. $('#element').popover('toggle')
.popover('destroy')

隐藏和摧毁提示框.

   
   
  1. $('#element').popover('destroy')

例子

通知插件用在规则的通知消息或块状消息上。

环境! 好的设计要充分考虑到对环境造成的影响。
错误! 你碰到了一个错误!

Change this and that and try again. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Cras mattis consectetur purus sit amet fermentum.


用法

通过data属性

只需添加 data-dismiss="alert" 到关闭按钮, 就会给通知提供一个关闭功能.

   
   
  1. <a class="close" data-dismiss="alert" href="#">&times;</a>

通过JavaScript

通过javascript触发通知:

   
   
  1. $(".alert").alert()

方法

$().alert()

对所有通知消息赋予关闭功能。在要关闭时使用动画效果,就要在通知上应用 .fade.in

.alert('close')

关闭通知.

   
   
  1. $(".alert").alert('close')

事件

Bootstrap的通知类扩展了一组事件,可以介入通知的某些功能实现。

事件描述
closeclose实例调用时, 事件会立即触发.
closed在通知已经关闭后(等待css过渡效果完成)触发。
   
   
  1. $('#my-alert').bind('closed', function () {
  2. // do something…
  3. })
JS点击触发消息通知
   
   
  1. <div id="alerttest" class="alert alert-block fade in">
  2. <button id="alertclose" type="button" class="close" >×</button>
  3. JS点击触发消息通知
  4. <p><a class="btn" href="#" onclick="$('#alerttest').alert('close');">关闭这个消息</a></p>
  5. </div>
  6.  
  7. <script>
  8. <!-- js代码 消息提示 ,点击事件 -->
  9. $('#alertclose').click(function () {
  10. $('#alerttest').alert('close');
  11. });
  12. </script>

例子

控制按钮的状态或者为其他复合控件(比如工具条)创建按钮组。

状态式

在按钮添加 data-loading-text="Loading..." 使用加载状态.

   
   
  1. <button type="button" class="btn btn-primary" data-loading-text="Loading...">提交</button>
切换

在按钮添加 data-toggle="button" 使用切换.

   
   
  1. <button type="button" class="btn btn-primary" data-toggle="button">切换</button>
复选框

添加 data-toggle="buttons-checkbox" 让按钮组具有复选框风格按钮.

   
   
  1. <div class="btn-group" data-toggle="buttons-checkbox">
  2. <button type="button" class="btn btn-primary"></button>
  3. <button type="button" class="btn btn-primary"></button>
  4. <button type="button" class="btn btn-primary"></button>
  5. </div>
单选框

添加 data-toggle="buttons-radio" 让按钮组具有单选框风格按钮.

   
   
  1. <div class="btn-group" data-toggle="buttons-radio">
  2. <button type="button" class="btn btn-primary">Left</button>
  3. <button type="button" class="btn btn-primary">Middle</button>
  4. <button type="button" class="btn btn-primary">Right</button>
  5. </div>

用法

通过data属性

数据属性是按钮插件的组成部分. 上面的代码实例为各种标记类型.

通过JavaScript

通过javascript触发按钮:

   
   
  1. $('.nav-tabs').button()

选项

没有

方法

$().button('toggle')

切换按下状态。改变按钮的外观为已经激活(按下)的样子。

注意! 可以使用 data-toggle 属性自动设置按钮状态。
   
   
  1. <button type="button" class="btn" data-toggle="button" ></button>
$().button('loading')

设置按钮为载入状态 - 按钮无效且将文本变成载入文本 载入文本应该设置在按钮的 data-loading-text 的属性中。

   
   
  1. <button type="button" class="btn" data-loading-text="loading stuff..." >...</button>
注意!  变通方案是在按钮上应用 autocomplete="off"
$().button('reset')

重置按钮状态 - 将按钮文字复原。

$().button(string)

重置按钮状态 - 将按钮文字变成为指定的文字。

   
   
  1. <button type="button" class="btn" data-complete-text="finished!" >...</button>
  2. <script>
  3. $('.btn').button('complete')
  4. </script>

关于

为可折叠的组件(比如手风琴式应用,导航栏)提供基本的样式和灵活的支持。

* 需要包含过渡插件.

例子

   
   
  1. <div class="accordion" id="accordion2">
  2. <div class="accordion-group">
  3. <div class="accordion-heading">
  4. <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#collapseOne">
  5. Collapsible Group Item #1
  6. </a>
  7. </div>
  8. <div id="collapseOne" class="accordion-body collapse in">
  9. <div class="accordion-inner">
  10. Anim pariatur cliche...
  11. </div>
  12. </div>
  13. </div>
  14. <div class="accordion-group">
  15. <div class="accordion-heading">
  16. <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#collapseTwo">
  17. Collapsible Group Item #2
  18. </a>
  19. </div>
  20. <div id="collapseTwo" class="accordion-body collapse">
  21. <div class="accordion-inner">
  22. Anim pariatur cliche...
  23. </div>
  24. </div>
  25. </div>
  26. </div>
  27. ...

你也可以使用插件也无需写标记. 让按钮对另一个元素进行展开和折叠.

   
   
  1. <button type="button" class="btn btn-danger" data-toggle="collapse" data-target="#demo">
  2. simple collapsible
  3. </button>
  4.  
  5. <div id="demo" class="collapse in"></div>

用法

通过data属性

只要在元素上添加 data-toggle="collapse"data-target 就能自动变成可折叠的。 data-target 属性接受一个css选择器,以选取元素添加折叠。 一定要在折叠元素上添加 collapse 。如果要默认某折叠元素是打开的,只要添加 .in

如需要添加一个手风琴式可折叠组, 则需添加 data-parent="#selector". 详情可查看上面的演示

通过JavaScript

通过javascript启用:

   
   
  1. $(".collapse").collapse()

选项

选项的传递可通过数据属性或JavaScript. 对于数据属性, 需要附加选项名称 data-, 如 data-parent="".

名称类型默认描述
parent选择器

selector

false如果指定了选择器,那么在显示折叠顶时,所有被选取的元素集合中的可折叠项都被关闭(与传统的手风琴应用相似)。
toggle布尔值true切换可折叠元素

方法

.collapse(options)

把内容元素转换为一个可折叠组件。接受一个 object 对象做为可选参数。

   
   
  1. $('#myCollapsible').collapse({
  2. toggle: false
  3. })
.collapse('toggle')

切换一个可折叠元素的状态:显示还是隐藏。

.collapse('show')

显示一个可折叠元素。

.collapse('hide')

隐藏一个可折叠元素。

事件

Bootstrap的折叠类扩展了一组事件,可以介入折叠的某些功能实现。

事件描述
show该事件在调用 show 实例方法时立刻触发。
shown该事件在可折叠元素已经呈现给用户后触发(等待CSS过渡效果完成)。
hide该事件在调用 hide 方法时立刻触发。
hidden该事件在可折叠元素已经在用户面前完全隐藏后触发(等待CSS过渡效果完成)。
   
   
  1. $('#myCollapsible').on('hidden', function () {
  2. // do something…
  3. })

例子

   
   
  1. <div id="myCarousel" class="carousel slide">
  2. <ol class="carousel-indicators">
  3. <li data-target="#myCarousel" data-slide-to="0" class="active"></li>
  4. <li data-target="#myCarousel" data-slide-to="1"></li>
  5. <li data-target="#myCarousel" data-slide-to="2"></li>
  6. </ol>
  7. <!-- Carousel items -->
  8. <div class="carousel-inner">
  9. <div class="active item"></div>
  10. <div class="item"></div>
  11. <div class="item"></div>
  12. </div>
  13. <!-- Carousel nav -->
  14. <a class="carousel-control left" href="#myCarousel" data-slide="prev">&lsaquo;</a>
  15. <a class="carousel-control right" href="#myCarousel" data-slide="next">&rsaquo;</a>
  16. </div>
注意! 实现轮播时,请移除我们提供的图片,替换为你自己的。

用法

通过data属性

使用数据属性可以很容易的控制轮播的位置. 当data-slide传入prevnext, 会把相对滑动的位置改变成当前位置. 另外, 使用data-slide-to传递一个索引到轮播data-slide-to="2"会滑动到指定位置, 索引从0开始计算.

通过JavaScript

通用javascript调用:

   
   
  1. $('.carousel').carousel()

选项

选项的传递可通过数据属性或JavaScript. 对于数据属性, 需要附加选项名称 data-, 如 data-interval="".

名称类型默认描述
interval数字5000在循环过程中每张图片停留的时间. 假如是false, 则不会自动循环.
pause字符串"hover"鼠标在幻灯片区域内暂停循环, 在区域外则继续循环.

方法

.carousel(options)

初始化轮播组件,接受一个 object 做为可选参数并开始循环播环。

   
   
  1. $('.carousel').carousel({
  2. interval: 2000
  3. })
.carousel('cycle')

从左向右循环播放。

.carousel('pause')

中止播放。

.carousel(number)

播放到某个特定的帧(与数组类似,从0开始计数)。

.carousel('prev')

回到上一帧。

.carousel('next')

回到下一帧。

事件

Bootstrap的轮播类提供了两个事件以介入轮播功能。

事件描述
slide该事件在调用 slide 实例方法时立刻触发。
slid该事件在轮播项切换效果完成之后触发。

例子

简单,易于拓展,可迅速地为表单中的文本输入框创建优雅的提醒。

   
   
  1. <input type="text" data-provide="typeahead">

用法

通过data属性

使用data-属性为一个元素加入输入提醒功能。 如上面例子所示.

通过JavaScript

通过javascript调用输入提醒:

   
   
  1. $('.typeahead').typeahead()

选项

选项的传递可通过数据属性或JavaScript. 对于数据属性, 需要附加选项名称 data-, 如 data-source="".

名称类型默认描述
source数组

函数

[ ]查询的数据源. 可以是字符串数组或是函数. 该函数传递两个参数, 在输入字段和过程回调来查询值. 函数可以使用同步返回数据源或通过异步过程回调单一参数.
items数字8下拉列表中的最多显示个数。
minLength数字1触发提示前所需的最小字符长度.
matcher函数不区分大小写该matcher函数用于决定某个查询是否匹配某个项。 它接受唯一一个参数, item ,用于测试是否符合查询。 通过 this.query 访问当前查询,如果匹配查询,就返回一个布尔值 true
sorter函数精确匹配,
区分大小写,
不区分大小写
该函数用来排序自动完成的结果。 它接受唯一一个参数 items ,还拥有输入提醒的范围。使用 this.query 引用当前查询。
updater函数返回选定的项目.该函数用来返回选定的项目。它接受唯一一个参数 items,可以返回预先选定的内容。
highlighter函数高亮所有默认的匹配该函数用来高亮自动完成的结果。 它接受唯一一个参数 item ,还拥有输入提醒的范围。应该返回html。

方法

.typeahead(options)

使用输入提醒初始化一个输入框。

例子

子导航, 正如左边的导航所示.


用法

通过data属性

添加附加导航很简单, 只需把 data-spy="affix" 添加到你想监视的元素上. 然后使用偏移量来确定一个元素的开和关.

   
   
  1. <div data-spy="affix" data-offset-top="200">...</div>
注意!你必须管理一个固定元素的位置和它的父级的行为. 通过 affix , affix-top, 和 affix-bottom 进行位置控制. 因为它的正常流程是通过页面的内页移动来确定的, 所以使用该插件时, 要检查一下父级是否是切换模式.

通过JavaScript

通过javascript调用:

   
   
  1. $('#navbar').affix()

选项

选项的传递可通过数据属性或JavaScript. 对于数据属性, 需要附加选项名称 data-, 如 data-offset-top="200".

名称类型默认描述
offset数值|函数|对象10计算从顶部到滚动的位置的偏移(像素). 如果设置了一个数字, 该偏移量的值将被应用在顶部和左方向. 如果要设置一个方向或者多个方向的偏移量, 只需提供一个对象offset: { x: 10 }. 该函数可以让你动态的提供一个偏移量(对于一些响应式设计
很有用).
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值