让Bootstrap的组件变得生动—提供了12种 jQuery 组件。
下面就是一个静态渲染的模态对话框。
天朝,你好....
点击下的按钮会通过javascript触发一个模态对话框。对话框从页面顶端滑下的同时逐渐呈现。
点击演示通过javascript调用模态对话框:
$('#myModal').modal(options)
$('#myModal').modal({ backdrop:true, keyboard:true, show:true });
名称 | 类型 | 默认 | 描述 |
---|---|---|---|
backdrop | 布尔值 | true |
为true时,显示对话框的遮蔽背景,鼠标点击背景即可关闭对话框。点击演示 为false时,无背景。点击演示 |
keyboard | 布尔值 | true |
为true时按下ESC键关闭模态对话框。点击演示 为false时无效。点击演示 |
show | 布尔值 | true | 是否在初始化时显示对话框。 |
我们无须手写javascript即可在页面中触发对话框。只要在某个激发元素上设置 data-toggle="modal"
,然后将
data-target="#foo"
或 href="#foo"
设为某个对话框元素的id,这样点击激发元素就会弹出对话框。
<a class="btn" data-toggle="modal" href="#myModal" >点击触发对话框</a>
如果需要带选项的对话框,可以在激发元素或是对话框元素的data-属性中设置选项值。 点击"无ESC关闭,无遮蔽背景"演示
<a class="btn" data-toggle="modal" href="#myModal" data-keyboard="false" data-backdrop="false" >点击"无ESC关闭,无遮蔽背景"演示</a>
<div class="modal" id="myModal"> <div class="modal-header"> <a class="close" data-dismiss="modal">×</a> <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>
.modal
元素应用 .fade
,即可实现淡入淡出。
将某个元素变成对话框激活,接受一个 object
做为可选参数。
$('#myModal').modal({ keyboard: false })
手动切换对话框打开和关闭。点击演示
$('#myModal').modal('toggle')
打开对话框
$('#myModal').modal('show')
关闭对话框
$('#myModal').modal('hide')
Bootstrap的对话框类扩展了一组事件,可以介入对话框的某些功能实现。
事件 | 描述 |
---|---|
show |
该事件在调用 show 方法时立刻触发。
|
shown | 该事件在对话框已经呈现给用户后(要等CSS过渡效果生效后)触发。 |
hide |
该事件在对话框使用 hide 方法时立刻触发。
|
hidden | 该事件在对话框已经关闭后(要等CSS过渡效果生效后)触发。 |
$('#myModal').on('hidden', function () { // do something… })
点击下面的导航栏链接和胶囊链接以测试下拉项。
通过javascript调用下拉项:
$('.dropdown-toggle').dropdown()
包含bootstrap-dropdown.js,然后设置 data-toggle="dropdown"
可以为任何元素添加并激活下拉项
data-target="#id"
或 href="#id"
激活某个下拉项,如下
<ul class="nav nav-pills"> <li><a href="#">规则的链接</a></li> <li class="dropdown" id="menutest1"> <a class="dropdown-toggle" data-toggle="dropdown" href="#menutest1"> 下拉项 <b class="caret"></b> </a> <ul class="dropdown-menu"> <li><a href="#">动作</a></li> <li><a href="#">另一个动作</a></li> <li><a href="#">其他</a></li> <li class="divider"></li> <li><a href="#">被间隔的链接</a></li> </ul> </li> <li class='active'> <a data-toggle="dropdown" href="#menutest1">点击我看看</a> </li> </ul>
用于激活某个导航条/标签页导航栏下的菜单
滚动侦测会根据当前滚动条位置而自动更新导航栏中的链接状态。
下载文件滚动下面的内容区域,然后观察导航条状态,导航条中的菜单甚至下拉项都会同步高亮。试一下!
中方向美方承诺提高国有企业红利上缴比例,增加上缴利润的中央国企和省级国企的数量,将国有资本经营预算纳入国家预算体系。还承诺,鼓励包括国有公司在内的上市公司增加红利支付。还承诺在信贷提供、税收优惠和监管政策等方面对各类所有制企业一视同仁。
美方认为,提高国有企业分红比例带来的收入可用于资助政府的社保和养老开支,从而有可能降低中国人大量储蓄的必要性,让他们提高消费支出,从而达到刺激中国内需的目的。
据估,中国高铁槽道市场约十几亿元,德国哈芬占70%。业内人士称,中铁设计院的铁道图纸,直接指定使用哈芬,而非技术标准。哈芬在德国使用成本高昂的不锈钢,在中国则是碳钢。更有业内人士证实,目前中国高铁用的实为国内生产,原产几乎不足四分之一。(财新)
近日,拍摄于四川绵阳街头的一张照片引起热议,一辆在路上行驶的法院警车,车窗里伸出一个宠物狗的脑袋,四处张望。此情景被怀疑是公务人员私用警车带宠物狗兜风。经调查得知,这是我国新近引进的一批特殊品种警犬,为麻痹犯罪分子,故意化妆成宠物狗的样子。
4月25日,19岁的韩耀在云南省昆明市晋宁县晋城镇南门村鑫云冷库附近失踪。家属在寻找时,竟然发现这一区域已先后有8名青少年失踪,其中近一年内就有6人。有一名青年雷玉生就在此地的大街上被人拖进了一面包车,被扔进黑砖窑强迫劳动,后逃离黑砖窑重获自由。
30多岁女人直接吐东西在刚扫过的地上,环卫大姐上去说了两句,结果挨了三巴掌三脚。见到被打的环卫大姐时,她精神不好,坐在凳子上不说话,左脸的伤痕还很显眼,工友在一旁照料她。2012年5月4日,浙江省,杭州市。
尹大姐说:“小孩子都知道不能在街上乱吐。”那女人说:那不就是你们环卫应该做的事情吗?尹大姐说:难道我们环卫工人就低人一等吗?”话音刚落,“啪”“啪”“啪”三个巴掌落在尹大姐脸上。
通过javascript调用滚动侦测:
$('#navbar').scrollspy()
在想侦测的元素(往往是body)上添加 data-spy="scroll"
就很容易在置顶导航条上实现滚动侦测。
<body data-spy="scroll" >...</body>
<a href="#home">home</a>
必须对应着dom中一个真实存在的id='home'元素,比如 <div id="home"></div>
。
名称 | 类型 | 默认 | 描述 |
---|---|---|---|
offset | 数字 | 10 | 计算滚动位置时相对顶端的偏移量 |
该插件通过点击标签页和胶囊链接切换显示不同容器中的内容。
下载文件点击下面的标签(包括下拉菜单项)切换显示不同面板中的内容。
5月6日,北京,一对新人启用直升机接亲。该直升机是欧洲直升机公司系列,机型为AS350B3,该公司北京唯一可承接低空飞行业务的航空公司,此次为首次承接婚礼。据悉,首次空中婚礼总费用为5万元。定价包括飞行时间和申报审批等费用,飞行时间按照1小时3万元计算。
法国代表社会党参选的奥朗德今晨在大选中获得胜利,成为法兰西第五共和国第七位总统,法国也在17年之后迎来首位左翼总统。萨科齐在5年任内因政绩不佳引发不满,选前处于民调落后的劣势。萨科齐虽试图打造“危机总统”形象,但终未能实现逆转。奥朗德现年58岁,至今未婚,与社会党前总统选举候选人罗亚尔同居30多年,育有4子女,多年来坚持骑车上下班。对华关系持强硬立场。
平壤某鱼肉样板店经理日云硕(音),在去年金正日和金正恩来店视察时,曾目睹这样一幕:金正恩将父亲让进电梯,然后自己嗖嗖地爬上三层楼梯,电梯再次打开时,他立正向父亲致意。日云硕动情地回忆说:“我被他的忠诚与智慧折服了...”
不是政府人士,永远不要去做政府的吹鼓手,因为吹鼓手在政府眼里永远只值一个夜壶铜钿,尿急了拿出来用一下,用完了将夜壶放到最角落地方;你吹得越起劲,不仅公众看不起你,政府更看不起你,所以吹鼓手都没有好下场。-----杜月笙
通过javascript启动可切换的标签页:
$('#myTab').tab('show')
在某个元素上设置 data-toggle="tab"
或 data-toggle="pill"
而无须编写javascript,就可以激活标签页或是胶囊链接
<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='#id'
或 href='#id'
属性以指向dom中的某个容器节点。
<ul class="nav nav-tabs"> <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 () { $('.tabs 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 // activated tab e.relatedTarget // previous tab })
受Jason Frame所写的出色的jQuery.tipsy插件所启发,我们编写了工具提示。做为前者的升级版,工具提示不依赖于图像, 使用css3显示动画效果,利用data-属性对标题做本地化存储。
下载文件鼠标经过下面链接时显示工具提示:
“这是我的第一次英文访问,很抱歉它不够严谨,但是我不得不这么做,不只因为采访时间限制,更因为我面对的是卡梅隆,这个人喜爱挑战、从无畏惧,他也希望别人如此,他可以原谅不完美,但他无法接受一个人不去努力接近自己的极限。” ——柴静《看见》专访卡梅隆
通过javascript触发工具提示:
$('#example').tooltip(options)
名称 | 类型 | 默认 | 描述 |
---|---|---|---|
animation | 布尔值 | true | 为工具提示添加一个淡入的过渡。 |
placement | 字符串或函数 | 'top' | 工具提示的位置:top | bottom | left | right。 |
selector | 字符串 | false | 如果提供了selector,将对符合条件的某个或多个元素启用工具提示。 |
title | 字符串或函数 | '' | 如果'title'属性不存在的话,就使用该值做为默认的标题。 |
trigger | 字符串 | 'hover' | 工具提示的触发方式:鼠标经过(hover) | 获得焦点(focus) | 手动触发(manual) |
delay | 数字或对象 | 0 |
显示和隐藏时的延迟时间(以毫秒计) 如果提供的是一个数字,延迟就会同时被应用到显示和隐藏。 如果是一个对象,其结构就是: |
出于性能的考虑,在使用工具提示和弹出提示时建议利用data-属性,再指定一个selector选项即可。
<a href="#" rel="tooltip" title="first tooltip">鼠标经过时生效</a>
对某个元素集合添加工具提示的处理。
显示某个元素的工具提示。
$('#element').tooltip('show')
隐藏某个元素的工具提示。
$('#element').tooltip('hide')
切换某个元素的工具提示的隐藏和显示状态。
$('#element').tooltip('toggle')
鼠标经过按钮时切换弹示提示的显示/隐藏。
使用javascript启用弹出提示:
$('#example').popover(options)
名称 | 类型 | 默认 | 描述 |
---|---|---|---|
animation | 布尔值 | true | 为弹出提示添加一个淡入的过渡。 |
placement | 字符串或函数 | 'right' | 弹出提示的位置:top | bottom | left | right。 |
selector | 字符串 | false | 如果提供了selector,将对符合条件的某个或多个元素启用工具提示。 |
trigger | 字符串 | 'hover' | 弹出提示的触发方式:鼠标经过(hover) | 获得焦点(focus) | 手动触发(manual) |
title | 字符串或函数 | '' | 如果元素没有指定'title'属性,就使用该值做为默认的标题。 |
content | 字符串或函数 | '' | 如果元素没有指定'data-content'属性,就使用该值做为默认的内容。 |
delay | 数字或对象 | 0 |
显示和隐藏时的延迟时间(以毫秒计) 如果提供的是一个数字,延迟就会同时被应用到显示和隐藏。 如果是一个对象,其结构就是: |
每个工具提示都可以单独通过设置data-属性以实现与javascript调用同样的功能
对某个元素集合添加弹出提示。
显示某个元素的弹出提示。
$('#element').popover('show')
隐藏某个元素的弹出提示。
$('#element').popover('hide')
切换某个元素的弹出提示的隐藏和显示状态。
$('#element').popover('toggle')
通知插件用在规则的通知消息或块状消息上。
通过javascript触发通知:
$(".alert").alert()
只须对关闭按钮添加 data-dismiss="alert"
就会自动实现一个通知的关闭功能。
<a class="close" data-dismiss="alert" href="#">×</a>
对所有通知消息赋予关闭功能。在要关闭时使用动画效果,就要在通知上应用 .fade
和 .in
。
关闭通知
$(".alert").alert('close')
Bootstrap的通知类扩展了一组事件,可以介入通知的某些功能实现。
事件 | 描述 |
---|---|
close | 在调用 close 方法时立刻触发。 |
closed | 在通知已经关闭后(等待css过渡效果完成)触发。 |
$('#my-alert').bind('closed', function () { // do something… })
使用折叠插件构造手风琴式的边栏:
通过javascript启用:
$(".collapse").collapse()
名称 | 类型 | 默认 | 描述 |
---|---|---|---|
parent | 选择器(selector) | false | 如果指定了选择器,那么在显示折叠顶时,所有被选取的元素集合中的可折叠项都被关闭(与传统的手风琴应用相似)。 |
toggle | 布尔值 | true | 切换可折叠元素 |
只要在元素上添加 data-toggle="collapse"
和 data-target
就能自动变成可折叠的。
data-target
属性接受一个css选择器,以选取元素添加折叠。
一定要在折叠元素上添加 .collapse
。如果要默认某折叠元素是打开的,只要添加 .in
。
<button class="btn btn-danger" data-toggle="collapse" data-target="#demo"> 简单手风琴效果 </button> <div id="demo" class="collapse in"> … </div>
data-parent="#selector"
。详见上面的演示。
把内容元素转换为一个可折叠组件。接受一个 object
对象做为可选参数。
$('#myCollapsible').collapse({ toggle: false })
切换一个可折叠元素的状态:显示还是隐藏。
显示一个可折叠元素。
隐藏一个可折叠元素。
Bootstrap的折叠类扩展了一组事件,可以介入折叠的某些功能实现。
事件 | 描述 |
---|---|
show |
该事件在调用 show 实例方法时立刻触发。
|
shown | 该事件在可折叠元素已经呈现给用户后触发(等待CSS过渡效果完成)。 |
hide |
该事件在调用 hide 方法时立刻触发。
|
hidden | 该事件在可折叠元素已经在用户面前完全隐藏后触发(等待CSS过渡效果完成)。 |
$('#myCollapsible').on('hidden', function () { // 做点hidden之后的事情 })
观察下面的幻灯片
通用javascript调用:
$('.carousel').carousel()
名称 | 类型 | 默认 | 描述 |
---|---|---|---|
interval | 数字 | 5000 | The amount of time to delay between automatically cycling an item. |
pause | 字符串 | "hover" | Pauses the cycling of the carousel on mouseenter and resumes the cycling of the carousel on mouseleave. |
可以使用data-属性提供前后翻页控件,如下:
<div id="myCarousel" class="carousel"> <!-- 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>
初始化轮播组件,接受一个 object
做为可选参数并开始循环播环。
$('.carousel').carousel({ interval: 2000 })
从左向右循环播放。
中止播放。
播放到某个特定的帧(与数组类似,从0开始计数)。
回到上一帧。
回到下一帧。
Bootstrap的轮播类提供了两个事件以介入轮播功能。
事件 | 描述 |
---|---|
slide |
该事件在调用 slide 实例方法时立刻触发。
|
slid | 该事件在轮播项切换效果完成之后触发。 |
在下面的输入框键入字符,观察提醒列表。
通过javascript调用输入提醒:
$('.typeahead').typeahead()
名称 | 类型 | 默认 | 描述 |
---|---|---|---|
source | 数组 | [ ] | 用于查询的数据源。 |
items | 数字 | 8 | 下拉列表中的最多显示个数。 |
matcher | 函数 | 不区分大小写 |
该matcher函数用于决定某个查询是否匹配某个项。
它接受唯一一个参数, item ,用于测试是否符合查询。
通过 this.query 访问当前查询,如果匹配查询,就返回一个布尔值 true 。
|
sorter | 函数 | 精确匹配, 区分大小写, 不区分大小写 |
该函数用来排序自动完成的结果。
它接受唯一一个参数 items ,还拥有输入提醒的范围。使用 this.query 引用当前查询。
|
highlighter | 函数 | 高亮所有默认的匹配 |
该函数用来高亮自动完成的结果。
它接受唯一一个参数 items ,还拥有输入提醒的范围。应该返回html。
|
使用data-属性为一个元素加入输入提醒功能。
<input type="text" data-provide="typeahead">
使用输入提醒初始化一个输入框。