让 Bootstrap 的组件活起来,现有一共有 13 个 jQuery 插件。
Bootstrap 的 JavaScript 插件可以放在各自的单独的文件里(注意插件之间可能有依赖关系),或者它们在同一个文件里。bootstrap.js 和 bootstrap.min.js 都会包含所有的插件。
你可以单纯的通过通过代码 API 来使用所有 Bootstrap 的插件, 不需要你写一行 JavaScript 的代码,这是 Boostrap 的首选类 API,而且也应该是你在使用插件时首先要考虑的。
即使如何,在某些情况下你可能需要关掉这个功能。因此我们可以让你关掉数据属性 API,你可以这样做:
$('body').off('.data-api')
或者,你也可以针对指定的插件,比如像这样:
$('body').off('.alert.data-api')
关掉了警示插件的数据属性 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 需要与其它的界面架构一起使用。在这些情况下,偶尔会发生命名冲突。如果出现这样的错误,你可以在插件上调用 .noConflict
。
var bootstrapButton = $.fn.button.noConflict() // 返回 $.fn.button 到之前分配的值 $.fn.bootstrapBtn = bootstrapButton // 给 $().bootstrapBtn bootstrap 功能
Bootstrap 为大部分插件的特定动作都提供自定义事件。比如像 show
会触发开始的事件,像 shown
会触发开始完成以后的事件。
$('#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>对话框标题</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 切换显示对话框。从页面上方渐变向下显示弹出对话框。
<!-- 触发显示对话框的按钮 --> <a href="#myModal" role="button" class="btn" data-toggle="modal">Launch demo modal</a> <!-- 对话框 --> <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">对话框标题</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">启动对话框</button>
使用一行 JavaScript 去调用 myModal
ID:
$('#myModal').modal(options)
数据属性或 JavaScript 都可以传递选项。如果用数据属性的话,添加一个选项名称到 data-
后面,比如像 data-backdrop=""
。
名称 | 类型 | 默认 | 描述 |
---|---|---|---|
backdrop | 布尔值 | true | 添加 modal-backdrop 元素(对话框显示时的透明黑色背景)。也可以为 backdrop 指定 static ,这样点击对话框时就不能关闭了。 |
keyboard | 布尔值 | true | 按 ESC 键关闭对话框 |
show | 布尔值 | true | 初始化以后显示对话框 |
remote | 路径 | false | 提供一个远程 URL,内容支使用 jQuery 的
|
用对话框显示内容,也会支持一下可选的选项 object
。
$('#myModal').modal({ keyboard: false })
手工切换对话框。
$('#myModal').modal('toggle')
手工打开对话框。
$('#myModal').modal('show')
手工隐藏对话框。
$('#myModal').modal('hide')
Bootstrap 的对话框类里带了几个事件可以挂到对话框功能上。/p>
事件 | 描述 |
---|---|
show | 当调用 show 时,会立即触发这个事件。 |
shown | 当完全显示的时候触发的事件。 |
hide | 当调用 hide 时,会立即触发这个事件。 |
hidden | 当完全隐藏以后触发的事件。 |
$('#myModal').on('hidden', function () { // 做点啥事 ... })
添加下拉菜单,比如导航栏,选项卡里的下拉菜单。
在链接或按钮上添加 data-toggle="dropdown"
可以切换显示下拉菜单。
<div class="dropdown"> <a class="dropdown-toggle" data-toggle="dropdown" href="#">触发下拉菜单</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"> 下拉菜单 <b class="caret"></b> </a> <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel"> ... </ul> </div>
通过 JavaScript 调用下拉菜单:
$('.dropdown-toggle').dropdown()
无
A programmatic api for toggling menus for a given navbar or tabbed navigation.
ScrollSpy 插件根据滚动的位置会自动更新导航上的目标。滚动下面的内容,注意激活类的变化,另外下拉菜单子项目也同样适用。
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.
添加 scrollspy 功能最简单的方法,就是在你想使用这个功能的元素上(一般来说是 body )添加一个 data-spy="scroll"
还有 data-target=".navbar"
来选择要使用的导航。可以使用 .nav
组件。
<body data-spy="scroll" data-target=".navbar">...</body>
通过 JavaScript 调用 scrollspy:
$('#navbar').scrollspy()
<a href="#home">home</a>
必须跟像 <div id="home"></div>
一起。
当在页面中配合添加或移除元素时使用 scrollspy,你需要像这样来调用刷新方法:
$('[data-spy="scroll"]').each(function () { var $spy = $(this).scrollspy('refresh') });
可以通过数据属性和 JavaScript 来传递选项。使用数据属性, 在 data-
后面加上选项的名称, 比如 data-offset=""
。
名称 | 类型 | 默认 | 描述 |
---|---|---|---|
偏移 | number | 10 | Pixels to offset from top when calculating position of scroll. |
事件 | 描述 |
---|---|
activate | scrollspy 的新项目变成激活状态时会触发这个事件。 |
快速,动态,带过滤效果,下拉菜单的选项卡功能,可以切换显示本地内容。
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'); // 选择第三个选项卡 (0-indexed)
启用选项卡功能不需要你写一行 JavaScript 代码,只需要添加 data-toggle="tab"
或者 data-toggle="pill"
到元素上就可以了。添加 nav
和 nav-tabs
类到选项卡 ul
上可以应用 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 动画,并且使用 data-attributes 存储本地标题。
考虑到性能的原因,你需要手工启用工具提示和 Popover。
鼠标悬停在下面的链接上,查看工具提示:
1965年4月4日生于美国纽约。父亲是电影导演Robert Downey Sr.,母亲为一名演员。五岁时他参加过多次业余表演。由于决意发展演艺事业,他便辍学加入剧团,并参加《周末夜现场》等热门电视节目的演出。自1992年在《卓别林与他的情人》中将喜剧泰斗卓别林一角演绎得绘声绘色,并荣获英国电影学院奖最佳男主角奖及奥斯卡最佳男主角提名,将其演艺事业推向高峰。1997年传出吸毒被捕的丑闻,演艺事业遭受重挫。2000年更经历了几个月的铁窗生涯,同年9月出狱,重新投身好莱坞,但不久再因吸毒二进宫,事业再遭重创。之后开始在一些电影中出演配角,并未引起多大反响。2005年开始出演的《晚安,好运》、《亲亲,撞撞》等片获得了不少好评,2007年主演大卫·芬奇《十二宫》,在其中精彩的演出备受关注。2008年更是摇身一变,成为超级英雄《钢铁侠》,同时还在本·斯蒂勒主演的《热带惊雷》中尝试搞笑角色,并凭借该片获得奥斯卡男配角提名,打了一场极为漂亮的翻身仗。接下来唐尼与杰米·福克斯合作了《独奏者》,出演盖·里奇的《大侦探福尔摩斯》,并继续主演《钢铁侠2》、《复仇者联盟》、《钢铁侠3》等超级漫画英雄大片。
在 input 组中使用工具提示和 popovers 的时候,你需要设置 container
选项来去掉一些副作用。
Trigger the tooltip via JavaScript:
$('#example').tooltip(options)
可以通过数据属性和 JavaScript 来传递选项。使用数据属性, 在 data-
后面加上选项的名称, 比如 data-animation=""
。
名称 | 类型 | 默认 | 描述 |
---|---|---|---|
animation | 布尔值 | true | 添加一个 css 渐变效果 |
html | 布尔值 | false | 在工具提示里插入 html 。如果设置为 false (假),会使用 jQuery 的 text 方式插入内容。如果你担心 XSS 攻击,请使用 text。 |
placement | string | function | 'top' | 工具提示的位置 - top | bottom | left | right |
selector | string | false | 如果提供了选项器,工具提示对象会委派到指定的目标。 |
title | string | function | '' | 默认的标题的值 |
trigger | string | 'hover focus' | 触发工具提示的方法 - click | hover | focus | manual。你可以传递多种方法,使用空格分隔不同的方法。 |
delay | number | object | 0 |
显示和隐藏工具提示时的延时(毫秒),不要使用手工触发类型 如果提供了数字,延时会同时用在 显示/隐藏上 对象结构是: |
container | string | false | false |
附加工具提示到指定元素 |
<a href="#" data-toggle="tooltip" title="first tooltip">hover over me</a>
附加选项处理元素的工具提示
显示元素的工具提示。
$('#element').tooltip('show')
隐藏元素的工具提示。
$('#element').tooltip('hide')
切换元素的工具提示。
$('#element').tooltip('toggle')
隐藏和破坏元素的工具提示
$('#element').tooltip('destroy')
用一个简单的内容覆盖层为元素显示二级内容,在 iPad 上你能看到类似的效果。悬停在按钮上触发显示 popover。 需要包含 工具提示插件。
有四个对齐选项:top, right, bottom, left。
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.
并没有作为 Popover 的代码,里面的内容都是由 JavaScript 还有带 data
属性的内容生成的。
通过 JavaScript 启用 popover:
$('#example').popover(选项)
可以通过数据属性和 JavaScript 来传递选项。使用数据属性, 在 data-
后面加上选项的名称, 比如 data-animation=""
.
名称 | 类型 | 默认 | 描述 |
---|---|---|---|
animation | 布尔值 | true | 添加一个 css 渐变效果 |
html | 布尔值 | false | 在 popover 里插入 html 。如果设置为 false (假),会使用 jQuery 的 text 方式插入内容。如果你担心 XSS 攻击,请使用 text。 |
placement | string | function | 'right' | popover 的位置 - top | bottom | left | right |
selector | string | false | 如果提供了选项器,工具提示对象会委派到指定的目标。 |
trigger | string | 'click' | 触发 popover 的方法 - click | hover | focus | manual。 |
title | string | function | '' | 默认的标题的值 |
content | string | function | '' | 默认的内容值 |
delay | number | object | 0 |
显示和隐藏 popover 时的延时(毫秒),不要使用手工触发类型 如果提供了数字,延时会同时用在 显示/隐藏上 对象结构是: |
container | string | false | false |
附加 popover 到指定元素 |
考虑到性能的原因,你需要手工启用工具提示和 Popover。
为选择元素初始化 popover
显示元素 popover 。
$('#element').popover('show')
隐藏元素 popover 。
$('#element').popover('hide')
切换元素 popover 。
$('#element').popover('toggle')
隐藏和破坏元素的 popover 。
$('#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 () { // 这里可以做点事 ... })
折叠显示内容。
* 需要用到过渡插件。
Using the collapse plugin, we built a simple accordion style widget:
<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"> 可折叠组项目 #1 </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"> 可折叠组项目 #2 </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"> 可折叠 </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 | 选择器 | false | 使用后,在显示折叠内容的时候,会自动关闭选择器下面其它所有的可折叠内容,有点像手风琴。 |
toggle | 布尔值 | true | 切换折叠元素调用 |
用折叠形式展示内容。授受一个可选选项 object
。
$('#myCollapsible').collapse({ toggle: false })
切换可折叠元素的显示或隐藏。
显示可折叠元素。
隐藏可折叠元素。
Bootstrap 的折叠类有几个事件可以去挂函数。
事件 | 描述 |
---|---|
show | 调用 show (显示)时触发的事件。 |
shown | 完全显示折叠元素的时候会触发的事件。 |
hide |
调用 hide (隐藏) 时触发的事件。
|
hidden | 完全隐藏折叠元素的时候会触发的事件。 |
$('#myCollapsible').on('hidden', function () { // 在这里加上你要做的事儿 ... })
轮番显示内容。
<div id="myCarousel" class="carousel slide"> <ol class="carousel-indicators"> <li data-target="#myCarousel" data-slide-to="0" class="active"></li> <li data-target="#myCarousel" data-slide-to="1"></li> <li data-target="#myCarousel" data-slide-to="2"></li> </ol> <!-- 旋转木马项目 --> <div class="carousel-inner"> <div class="active item">…</div> <div class="item">…</div> <div class="item">…</div> </div> <!-- 旋转木马导航 --> <a class="carousel-control left" href="#myCarousel" data-slide="prev">‹</a> <a class="carousel-control right" href="#myCarousel" data-slide="next">›</a> </div>
使用数据属性可以很容易控制旋转木马的位置。data-slide
可以是 prev
或者 next
,它可以改变相对于当前位置的幻灯片的位置。使用 data-slide-to
可以传递索引给旋转木马,比如 data-slide-to="2"
会跳转到从 0
开始的数起的索引值的幻灯片。
手工调用旋转木马。
$('.carousel').carousel()
可以通过数据属性和 JavaScript 来传递选项。使用数据属性, 在 data-
后面加上选项的名称,比如 data-interval=""
。
名称 | 类型 | 默认 | 描述 |
---|---|---|---|
interval | 数字 | 5000 | 旋转显示每个项目之间所停留的时间。如果设置为 false,旋转木马就不会自动转圈了。 |
pause | 字符串 | "hover" | 鼠标悬停在旋转木马上的时候会暂时转动,鼠标离开时会继续转圈。 |
使用一个可选的选项 object
初始化旋转木马,开始转圈!
$('.carousel').carousel({ interval: 2000 })
从左向右开始转。
停止转圈.
转到特定的项目上(从 0 开始数 )。
转到上一个项目。
转到下一个项目。
Bootstrap 的旋转木马类里有几个事件可以用来挂函数。
事件 | 描述 |
---|---|
slide | 调用 slide 时触发的事件。 |
slid | 完成幻灯片过渡以后触发的事件。 |
文本框里的事先输入功能插件。
<input type="text" data-provide="typeahead">
设置 autocomplete="off"
来防止浏览器默认的自动完成显示在 Bootstrap 的事先输入之上。
Add data attributes to register an element with typeahead functionality as shown in the example above.
手工调用事先输入:
$('.typeahead').typeahead()
可以通过数据属性和 JavaScript 来传递选项。使用数据属性, 在 data-
后面加上选项的名称, 比如 data-source=""
。
名称 | 类型 | 默认 | 描述 |
---|---|---|---|
source | 数组, 函数 | [ ] | 要查询的数据源。可以是一个数组或是函数。函数传递两个参数, query 值在 input 字段里,还有 process 回调。函数可以用于直接同步调用数据或者通过 process 异步调用。 |
items | 数字 | 8 | 在下拉菜单中显示的最大项目数。 |
minLength | 数字 | 1 | 触发自动完成建议的最小字符数。 |
matcher | 函数 | case insensitive | 确定查询匹配项目的方法。授受单独参数, 测试查询 item ,使用this.query 访问当前查询,如果查询匹配则返回一个为 true 的布尔值。 |
sorter | 函数 | exact match, case sensitive, case insensitive |
自动完成结果的排序方法。授受单独参数 items ,还有事先输入的范围,使用 this.query 引用当前查询。 |
updater | 函数 | 返回选择的项目 | 返回选择的项目的方法。授受单独参数 item ,还有事先输入的范围。 |
highlighter | 函数 | 高亮所有默认匹配 | 高亮自动完成结果的方法。授受单独参数 item ,还有事先输入的范围。应该返回 html。 |
初始化 input 预输入。
左边显示的这个子导航菜单就是一个附件(affix)插件。
在任何元素上添加附件功能,只需要添加一个 data-spy="affix"
到元素上。然后使用偏移来定义在什么时候切换固定元素的开或关。
<div data-spy="affix" data-offset-top="200">...</div>
affix
,affix-top
, 还有 affix-bottom
控制。记住要检查父辈潜在的折叠,因为当附件进来时它会从页面中移除内容。
使用 JavaScript 调用 affix 插件:
$('#navbar').affix()
可以通过数据属性和 JavaScript 来传递选项。使用数据属性, 在 data-
后面加上选项的名称, as in data-offset-top="200"
.
名称 | 类型 | 默认 | 描述 |
---|---|---|---|
偏移 | number | function | object | 10 | 在计算位置时从屏幕中偏移的像素数。如果提供了一个单独的数字,偏移会应用在顶部和左边两个方向。单一方向或多个不同偏移,可以使用一个对象 offset: { x: 10 } ,使用函数可以去动态计算偏移(适用于响应式设计)。 |