现在带来13个jQuery插件, 让Bootstrap的组件更具生命力.
插件可以单独被添加(有些有可能需要依赖), 或一次性全部导入. bootstrap.js 或 bootstrap.min.js 文件中, 包含了所有插件.
你可以通过API的标记使用所有Bootstrap插件, 而无需编写单行的JavaScript. 这是Bootstrap最好的API, 并这是使用插件时, 应该是你首先要考虑的.
也就是说, 在某些情况下, 应该要把这项功能关闭. 因此, 我们还提供了禁用数据属性的能力, 就是解除命名空间为 `'data-api'`的所有事件. 看起来像这样:
$('body').off('.data-api')
另外, 针对特定插件只需把插件名称连同data-api命名空间. 像这样:
$('body').off('.alert.data-api')
我们也相信你可以完全通过JavaScript API使用Bootstrap所有插件. 所有公共API都是单一, 可链接使用, 和在行为上返回集合.
$(".btn.danger").button("toggle").addClass("fat")
所有方法都应该接受一个可选的对象, 一个字符串, 或什么也不传入(这样会使用插件的默认行为):
$("#myModal").modal() // 默认初始化 $("#myModal").modal({ keyboard: false }) // 初始化没有键盘 $("#myModal").modal('show') // 初始化立即显示
每个插件都在`Constructor`属性公开了其构造函数: $.fn.popover.Constructor
. 如果你想获得一个特定插件实例, 可直接从一个元素获取它: $('[rel=popover]').data('popover')
.
有时在使用Bootstrap插件, 还需要使用其他UI框架. 在这种情况下, 命名空间冲突的情况时有发生. 假如发生了冲突情况, 你可以在插件调用 .noConflict
.
var bootstrapButton = $.fn.button.noConflict() // 返回 $.fn.button 之前指定的值 $.fn.bootstrapBtn = bootstrapButton // 给Bootstrap添加 $().bootstrapBtn 功能
Bootstrap对大多数插件独有的行为提供自定义事件. 通常用不定式和过去分词, 如不定式(ex. show
)触发事件开始, 和过去分词(ex. shown
)触发事件完成.
所有不定式都提供了preventDefault功能. 这能在开始之前终止行为.
$('#myModal').on('show', function (e) { if (!data) return e.preventDefault() // stops modal from being shown })
对于简单的过渡效果, 需要包含一个bootstrap-transition.js文件. 假如你使用完整(或精缩版)bootstrap.js, 就不需要再加入该文件, 因为bootstrap.js已经把该文件包含在里面.
过渡插件的例子:
对话框简洁, 但同样具有灵活性, 提示对话框只需要很少一部分和默认的功能.
有标题, 正文, 并且页脚还有可执行操作.
欢迎光临?
<div class="modal hide fade"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> <h3>来自XieMin博客的消息</h3> </div> <div class="modal-body"> <p>欢迎光临?</p> </div> <div class="modal-footer"> <a href="#" class="btn">关闭</a> <a href="#" class="btn btn-primary">确定</a> </div> </div>
点击下面按钮, 通过JavaScript触发一个对话框. 它会在页面顶部向下滑入并且伴随着淡入效果.
<!-- Button to trigger modal --> <a href="#myModal" role="button" class="btn" data-toggle="modal">Launch demo modal</a> <!-- Modal --> <div id="myModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> <h3 id="myModalLabel">来自XieMin博客的消息</h3> </div> <div class="modal-body"> <p>内容内容内容</p> </div> <div class="modal-footer"> <button class="btn" data-dismiss="modal" aria-hidden="true">关闭</button> <button class="btn btn-primary">确定</button> </div> </div>
无需写JavaScript, 可启用对话框. 在一个控制元素上设置 data-toggle="modal"
, 像按钮, 针对一个特定的对话框, 可进行data-target="#foo"
或者 href="#foo"
间的切换.
<button type="button" data-toggle="modal" data-target="#myModal">Launch modal</button>
用一行JavaScript代码, 调用id为 myModal
的对话框:
$('#myModal').modal(options)
选项的传递可通过数据属性或JavaScript. 对于数据属性, 需要附加选项名称 data-
, 如 data-backdrop=""
.
名称 | 类型 | 默认 | 描述 |
---|---|---|---|
backdrop | boolean | true | 包括一个对话框背景元素. 另外 static (false情况) 背景下, 点击对话框外的区域不会关闭对话框. |
keyboard | boolean | true | 按下esc键时关闭对话框. |
show | boolean | true | 初始化时显示对话框. |
remote | path | false | 如果需要提供远程url, 内容将通过jQuery的
|
通过一个对话框形式显示你的内容. 接受一个object
的可选选项.
$('#myModal').modal({ keyboard: false })
切换对话框.
$('#myModal').modal('toggle')
显示对话框.
$('#myModal').modal('show')
关闭对话框.
$('#myModal').modal('hide')
Bootstrap的对话框类提供了一些事件和对话框功能挂钩.
事件 | 描述 |
---|---|
show | 当show 实例被调用, 此事件会立即触发. |
shown | 对话框已呈现完毕时触发. |
hide | 当hide 实例被调用, 此事件会立即触发. |
hidden | 对话框已隐藏完毕时触发. |
$('#myModal').on('hidden', function () { // do something… })
通过找个简单的插件, 可以添加几乎任何类型的下拉菜单, 包括导航条, 标签导航, 圆角式导航.
在链接或按钮上添加 data-toggle="dropdown"
来切换下拉菜单.
<div class="dropdown"> <a class="dropdown-toggle" data-toggle="dropdown" href="#">Dropdown trigger</a> <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel"> ... </ul> </div>
为了保持URL完整, 使用 data-target
属性代替 href="#"
.
<div class="dropdown"> <a class="dropdown-toggle" id="dLabel" role="button" data-toggle="dropdown" data-target="#" href="/page.html"> Dropdown <b class="caret"></b> </a> <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel"> ... </ul> </div>
通过JavaScript调用下拉菜单:
$('.dropdown-toggle').dropdown()
没有
切换导航或标签式导航的菜单.
该插件根据滚动条的位置, 自动更新导航条选项的目标. 滚动导航条下方的区域并观察变化. 同样的, 下拉菜单的子项也会被高亮显示出来.
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.
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.
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.
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.
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-spy="scroll"
添加到你想监听的元素(最典型的就是添加到body)并添加data-target=".navbar"
来选择使用哪个导航. 你将会希望在.nav
组件使用监听滚动功能.
<body data-spy="scroll" data-target=".navbar">...</body>
通过JavaScript调用监听滚动:
$('#navbar').scrollspy()
<a href="#home">home</a>
在DOM中必须有东西来对应, 像<div id="home"></div>
.
如果监听滚动和添加移除节点连同一起使用, 你需要调用refresh方法, 像这样:
$('[data-spy="scroll"]').each(function () { var $spy = $(this).scrollspy('refresh') });
选项的传递可通过数据属性或JavaScript. 对于数据属性, 需要附加选项名称 data-
, 如 data-offset=""
.
名称 | 类型 | 默认 | 描述 |
---|---|---|---|
offset | number | 10 | 计算从顶部到滚动的位置的偏移(像素). |
事件 | 描述 |
---|---|
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.
Food truck fixie locavore, accusamus mcsweeney's marfa nulla single-origin coffee squid. Exercitation +1 labore velit, blog sartorial PBR leggings next level wes anderson artisan four loko farm-to-table craft beer twee. Qui photo booth letterpress, commodo enim craft beer mlkshk aliquip jean shorts ullamco ad vinyl cillum PBR. Homo nostrud organic, assumenda labore aesthetic magna delectus mollit. Keytar helvetica VHS salvia yr, vero magna velit sapiente labore stumptown. Vegan fanny pack odio cillum wes anderson 8-bit, sustainable jean shorts beard ut DIY ethical culpa terry richardson biodiesel. Art party scenester stumptown, tumblr butcher vero sint qui sapiente accusamus tattooed echo park.
Etsy mixtape wayfarers, ethical wes anderson tofu before they sold out mcsweeney's organic lomo retro fanny pack lo-fi farm-to-table readymade. Messenger bag gentrify pitchfork tattooed craft beer, iphone skateboard locavore carles etsy salvia banksy hoodie helvetica. DIY synth PBR banksy irony. Leggings gentrify squid 8-bit cred pitchfork. Williamsburg banh mi whatever gluten-free, carles pitchfork biodiesel fixie etsy retro mlkshk vice blog. Scenester cred you probably haven't heard of them, vinyl craft beer blog stumptown. Pitchfork sustainable tofu synth chambray yr.
Trust fund seitan letterpress, keytar raw denim keffiyeh etsy art party before they sold out master cleanse gluten-free squid scenester freegan cosby sweater. Fanny pack portland seitan DIY, art party locavore wolf cliche high life echo park Austin. Cred vinyl keffiyeh DIY salvia PBR, banh mi before they sold out farm-to-table VHS viral locavore cosby sweater. Lomo wolf viral, mustache readymade thundercats keffiyeh craft beer marfa ethical. Wolf salvia freegan, sartorial keffiyeh echo park vegan.
通过JavaScript启用可切换标签 (每个标签都需要单独激活):
$('#myTab a').click(function (e) { e.preventDefault(); $(this).tab('show'); })
你可以以多种方式激活标签:
$('#myTab a[href="#profile"]').tab('show'); // 通过名字选择 $('#myTab a:first').tab('show'); // 选择第一个标签 $('#myTab a:last').tab('show'); // 选择最后一个标签 $('#myTab li:eq(2) a').tab('show'); // 选择第三个标签
你可以无需写任何JavaScript来激活标签式或圆角式的导航, 只需在元素上简单的指定 data-toggle="tab"
或 data-toggle="pill"
. 在标签 ul
添加 nav
和 nav-tabs
属性, 将应用Bootstrap标签样式.
<ul class="nav nav-tabs"> <li><a href="#home" data-toggle="tab">首页</a></li> <li><a href="#profile" data-toggle="tab">简介</a></li> <li><a href="#messages" data-toggle="tab">信息</a></li> <li><a href="#settings" data-toggle="tab">设置</a></li> </ul>
激活标签元素和内容容器. 因此标签必须具有 data-target
或者 href
.
<ul class="nav nav-tabs" id="myTab"> <li class="active"><a href="#home">首页</a></li> <li><a href="#profile">简介</a></li> <li><a href="#messages">信息</a></li> <li><a href="#settings">设置</a></li> </ul> <div class="tab-content"> <div class="tab-pane active" id="home">...</div> <div class="tab-pane" id="profile">...</div> <div class="tab-pane" id="messages">...</div> <div class="tab-pane" id="settings">...</div> </div> <script> $(function () { $('#myTab a:last').tab('show'); }) </script>
事件 | 描述 |
---|---|
show | 事件在标签显示触发. 使用 event.target 和 event.relatedTarget 分别来定位当前活动标签和上一个选择的标签(如果有的话). |
shown | 事件在标签显示完毕时触发. 使用 event.target 和 event.relatedTarget 分别来定位当前活动标签和上一个选择的标签(如果有的话). |
$('a[data-toggle="tab"]').on('shown', function (e) { e.target // 当前活动的标签 e.relatedTarget // 上一个选择的标签 })
受由Jason Frame开发的优秀jQuery.tipsy插件的启发; 提示工具是一个更好的版本, 它不依赖于图像, 使用CSS3动画和数据属性作为本地数据存储.
将鼠标停悬在下面的链接上查看提示:
Tight pants next level keffiyeh you probably haven't heard of them. Photo booth beard raw denim letterpress vegan messenger bag stumptown. Farm-to-table seitan, mcsweeney's fixie sustainable quinoa 8-bit american apparel have a terry richardson vinyl chambray. Beard stumptown, cardigans banh mi lomo thundercats. Tofu biodiesel williamsburg marfa, four loko mcsweeney's cleanse vegan chambray. A really ironic artisan whatever keytar, scenester farm-to-table banksy Austin twitter handle freegan cred raw denim single-origin coffee viral.
使用JavaScript:
$('#example').tooltip(options)
选项的传递可通过数据属性或JavaScript. 对于数据属性, 需要附加选项名称 data-
, 如 data-animation=""
.
名称 | 类型 | 默认 | 描述 |
---|---|---|---|
animation | boolean | true | 使用CSS的淡入淡出效果 |
html | boolean | false | 在提示工具插入HTML. 假如是false, jquery的 text 方法将用来插入内容到DOM. 如果担心XSS攻击, 可以使用文本. |
placement | string|function | 'top' | 设置方向显示 - top | bottom | left | right |
selector | string | false | 如果提供选择器, 提示工具对象将委托给指定的目标. |
title | string | function | '' | 假如`title`标签不存在, 将显示默认的标题值. |
trigger | string | 'hover' | 如何触发提示工具 - click | hover | focus | manual |
delay | number | object | 0 |
延迟显示和隐藏提示工具(单位为毫秒ms) - 不适用于手动触发类型. 如果提供了一个数字, 那么延迟时间将会同时应用到显示/隐藏. 如果提供的是一个对象, 那么可以: |
对于性能方面的考虑, 提示工具和提示框都建议使用data-api. 假如你想使用他们, 只需指定一个选择器选项.
<a href="#" rel="tooltip" title="first tooltip">hover over me</a>
附加的提示工具处理程序.
显示提示工具.
$('#element').tooltip('show')
隐藏提示工具.
$('#element').tooltip('hide')
切换提示工具.
$('#element').tooltip('toggle')
隐藏和摧毁提示工具.
$('#element').tooltip('destroy')
添加一个小的叠加内容, 这与iPad查看二级信息的效果相像. 将鼠标停悬在按钮上触发提示框. 需要包括 提示工具 .
提供四个方向: 上, 右, 下, 左
在更薄、更轻的全新 iPod touch 里,无穷乐趣已融入其毫厘之间。从玩游戏、播放音乐到尽情玩乐,iPod touch 能做的比以往更多,而且更强大。在 4 英寸 Retina 显示屏上,一切看起来都美妙绝伦。
在更薄、更轻的全新 iPod touch 里,无穷乐趣已融入其毫厘之间。从玩游戏、播放音乐到尽情玩乐,iPod touch 能做的比以往更多,而且更强大。在 4 英寸 Retina 显示屏上,一切看起来都美妙绝伦。
在更薄、更轻的全新 iPod touch 里,无穷乐趣已融入其毫厘之间。从玩游戏、播放音乐到尽情玩乐,iPod touch 能做的比以往更多,而且更强大。在 4 英寸 Retina 显示屏上,一切看起来都美妙绝伦。
在更薄、更轻的全新 iPod touch 里,无穷乐趣已融入其毫厘之间。从玩游戏、播放音乐到尽情玩乐,iPod touch 能做的比以往更多,而且更强大。在 4 英寸 Retina 显示屏上,一切看起来都美妙绝伦。
由JavaScript和内容包含在data
属性所产生的提示框可以无需写标记.
使用JavaScript:
$('#example').popover(options)
选项的传递可通过数据属性或JavaScript. 对于数据属性, 需要附加选项名称 data-
, 如 data-animation=""
.
名称 | 类型 | 默认 | 描述 |
---|---|---|---|
animation | boolean | true | 使用CSS的淡入淡出效果 |
html | boolean | false | 在提示框插入HTML. 假如是false, jquery的 text 方法将用来插入内容到DOM. 如果担心XSS攻击, 可以使用文本. |
placement | string|function | 'right' | 设置方向显示- top | bottom | left | right |
selector | string | false | 如果提供选择器, 提示框对象将委托给指定的目标. |
trigger | string | 'click' | 如何触发提示工具 - click | hover | focus | manual |
title | string | function | '' | 假如`title`标签不存在, 将显示默认的标题值. |
content | string | function | '' | 假如`data-content`属性不存在, 将显示默认内容值. |
delay | number | object | 0 |
延迟显示和隐藏提示框(单位为毫秒ms) - 不适用于手动触发类型. 如果提供了一个数字, 那么延迟时间将会同时应用到显示/隐藏. 如果提供的是一个对象, 那么可以: |
对于性能方面的考虑, 提示工具和提示框都建议使用data-api. 假如你想使用他们, 只需指定一个选择器选项.
初始化提示框的元素集合
显示提示框.
$('#element').popover('show')
隐藏提示框.
$('#element').popover('hide')
切换提示框.
$('#element').popover('toggle')
隐藏和摧毁提示框.
$('#element').popover('destroy')
在通知插件添加关闭功能.
使用JavaScript:
$(".alert").alert()
只需添加 data-dismiss="alert"
到关闭按钮, 就会给通知提供一个关闭功能.
<a class="close" data-dismiss="alert" href="#">×</a>
所有通知都有关闭功能. 如果你想在关闭的时有动画效果, 确保它们有 .fade
和 .in
属性.
关闭通知.
$(".alert").alert('close')
Bootstrap的通知类提供了一些事件和通知功能挂钩.
事件 | 描述 |
---|---|
close | 当close 实例调用时, 事件会立即触发. |
closed | 通知已关闭完毕时触发. |
$('#my-alert').bind('closed', function () { // do something… })
给折叠的组件, 如手风琴式的切换和导航, 提供基本灵活的样式.
* 需要包含过渡插件
使用切换插件, 我们创建一个简单的手风琴式的切换部件:
<div class="accordion" id="accordion2"> <div class="accordion-group"> <div class="accordion-heading"> <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#collapseOne"> iPod shuffle </a> </div> <div id="collapseOne" class="accordion-body collapse in"> <div class="accordion-inner"> Anim pariatur cliche... </div> </div> </div> <div class="accordion-group"> <div class="accordion-heading"> <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#collapseTwo"> iPod nano </a> </div> <div id="collapseTwo" class="accordion-body collapse"> <div class="accordion-inner"> Anim pariatur cliche... </div> </div> </div> </div> ...
你也可以使用插件也无需写标记. 让按钮对另一个元素进行展开和折叠.
<button type="button" class="btn btn-danger" data-toggle="collapse" data-target="#demo"> simple collapsible </button> <div id="demo" class="collapse in"> … </div>
只需往元素添加 data-toggle="collapse"
和 data-target
就能实现一个可折叠的元素. data-target
属性接受一个CSS选择器. 确保在可折叠元素上添加 collapse
属性. 如果你想它默认是打开的, 可以再添加一个 in
属性.
如需要添加一个手风琴式可折叠组, 则需添加 data-parent="#selector"
. 详情可查看上面的演示.
手动调用:
$(".collapse").collapse()
选项的传递可通过数据属性或JavaScript. 对于数据属性, 需要附加选项名称 data-
, 如 data-parent=""
.
名称 | 类型 | 默认 | 描述 |
---|---|---|---|
parent | selector | false | 如果选择了某个选择器, 那么当有可折叠项要显示时, 所有可折叠的元素会根据规定的父级元素而关闭. (类似传统手风琴式折叠的行为) |
toggle | boolean | true | 切换可折叠的元素. |
内容以一个可折叠元素激活. 接受一个object
的可选选项.
$('#myCollapsible').collapse({ toggle: false })
切换可折叠元素的显示或隐藏.
显示可折叠元素.
隐藏可折叠元素.
Bootstrap的切换类提供了一些事件和通知功能挂钩.
事件 | 描述 |
---|---|
show | 当show 实例被调用, 此事件会立即触发. |
shown | 对话框已呈现完毕时触发. |
hide |
当hide 实例被调用, 此事件会立即触发.
|
hidden | 对话框已隐藏完毕时触发. |
$('#myCollapsible').on('hidden', function () { // do something… })
下面的幻灯片展示了一个通用的插件和组件.
<div id="myCarousel" class="carousel slide"> <!-- Carousel items --> <div class="carousel-inner"> <div class="active item">…</div> <div class="item">…</div> <div class="item">…</div> </div> <!-- Carousel nav --> <a class="carousel-control left" href="#myCarousel" data-slide="prev">‹</a> <a class="carousel-control right" href="#myCarousel" data-slide="next">›</a> </div>
...
手动调用:
$('.carousel').carousel()
选项的传递可通过数据属性或JavaScript. 对于数据属性, 需要附加选项名称 data-
, 如 data-interval=""
.
名称 | 类型 | 默认 | 描述 |
---|---|---|---|
interval | number | 5000 | 在循环过程中每张图片停留的时间. 假如是false, 则不会自动循环. |
pause | string | "hover" | 鼠标在幻灯片区域内暂停循环, 在区域外则继续循环. |
初始化一个带有 object
的可选选项并开始循环播放的轮播.
$('.carousel').carousel({ interval: 2000 })
从左到右循环播放.
停止循环.
循环到指定帧(从0开始, 类似数组).
返回到上一帧.
下一帧.
Bootstrap的轮播类提供了一些事件和通知功能挂钩.
事件 | 描述 |
---|---|
slide | 当slide 实例被调用, 此事件会立即触发. |
slid | 当一帧完全了切换时触发. |
一个基本的, 易于扩展的插件, 用于快速创建优雅的文字输入提醒.
<input type="text" data-provide="typeahead">
添加一个数据元素注册一个具有输入提醒功能的元素. 如上面例子所示.
手动调用:
$('.typeahead').typeahead()
选项的传递可通过数据属性或JavaScript. 对于数据属性, 需要附加选项名称 data-
, 如 data-source=""
.
名称 | 类型 | 默认 | 描述 |
---|---|---|---|
source | array, function | [ ] | 查询的数据源. 可以是字符串数组或是函数. 该函数传递两个参数, 在输入字段和过程 回调来查询 值. 函数可以使用同步返回数据源或通过异步过程 回调单一参数. |
items | number | 8 | 下拉列表中显示的最大的项目数. |
minLength | number | 1 | 触发提示前所需的最小字符长度. |
matcher | function | case insensitive | 查询匹配项. |
sorter | function | exact match, case sensitive, case insensitive |
输入提示的排序. |
updater | function | returns selected item | 返回选定的项目. |
highlighter | function | highlights all default matches | 高亮提示的结果. |
把输入框初始化具有输入提示功能.
子导航, 正如左边的导航所示.
添加附加导航同意简单, 只需把 data-spy="affix"
添加到你想监视的元素上. 然后使用偏移量来确定一个元素的开和关.
<div data-spy="affix" data-offset-top="200">...</div>
affix
, affix-top
, 和 affix-bottom
进行位置控制. 因为它的正常流程是通过页面的内页移动来确定的, 所以使用该插件时, 要检查一下父级是否是切换模式.
通过JavaScript调用:
$('#navbar').affix()
当使用该插件结合在DOM上添加或删除元素, 此时你需要使用refresh方法:
$('[data-spy="affix"]').each(function () { $(this).affix('refresh') });
选项的传递可通过数据属性或JavaScript. 对于数据属性, 需要附加选项名称 data-
, 如 data-offset-top="200"
.
名称 | 类型 | 默认 | 描述 |
---|---|---|---|
offset | number | function | object | 10 | 计算从顶部到滚动的位置的偏移(像素). 如果设置了一个数字, 该偏移量的值将被应用在顶部和左方向. 如果要设置一个方向或者多个方向的偏移量, 只需提供一个对象offset: { x: 10 } . 该函数可以让你动态的提供一个偏移量(对于一些响应式设计很有用). |