JavaScript插件
新版Bootstrap提供了12种JavaScript插件,分别是:动画过渡(Transition)、模态弹窗(Modal)、下拉菜单(Dropdown)、滚动侦测(Scrollspy)、提示框(Tooltip)、选项卡(Tab)、警告框(Alert)、弹出框(Popover)、按钮(Button)、折叠(Collapse)、旋转轮播(Carousel)、自动定位浮标(Affix)
下面就对此一一介绍
动画过渡效果
默认情况下,以下组件使用了动画过渡效果
* 模态弹窗(Modal)的滑动和渐变效果
* 选项卡(Tab)的渐变效果
* 警告框(Alert)的渐变效果
* 旋转轮播(Carousel)的滑动效果
模态弹窗是绝大部分交互式网站都需要的一种功能,一般有以下几种用法:
提示信息、警告信息、大文本等;
确认提示(多按钮);
显示表单元素 ;
其他需要特使显示的信息
下拉菜单
用HTML写的时候只需要给按钮加上 class="dropdown-toggle"
data-toggle=“dropdown”
再给ul加上dropdown-menu
的类即可实现,如果要是使用js插件的话,就要在此基础上去掉 data-toggle=“dropdown”
,在下面添加script代码就可以,script代码如下:
滚动侦测
概念
滚动侦测插件是根据滚动的位置自动更细导航条中相应的导航项。会将当前的内容在导航项里高亮显示出来。
注意:该插件所需要的导航条只能在拥有.nav样式的ul/li元素上起作用。
用法
* $('body').scrollspy({ target:'#selector'})
* $('[data-spy="scroll]').each(function(){
* var $spy=$(this).scrollspy('refresh')
* })
需要注意的是,这种refresh(用于获取页面内所有滚动容器的id值(也可以说是菜单对应的target值(或href))的集合,以及每个id元素的offset值)只对声明式用法有效,如果使用的是JavaScript方式,并且需要刷新DOM,那就需要重新应用该插件;或者从data-scrollspy属性上获取该实例,然后再调用refresh方法
结果这里就不再给出,回去读者可以自己编写尝试
选项卡
选项卡比较简单,在CSS组件里面便可以很轻松的实现这个功能,因此这里只给出选项卡组件的事件类型
弹出框
该代码的运行结果为:(点击了按钮之后)
提示框
概念
一般来说提示框是鼠标移动到特定的元素上时显示相关的提示语。
不管是href链接还是按钮,只要按照特定的规则设置,就可以在鼠标移动的时候显示提示语。
属性
代码
* <a href="#" data-toggle="tooltip" title="这是内容">链接</a>
* <a href="#" data-toggle="tooltip" title="也可设置title">链接</a>
支撑它的JS为:
最简单的一种就是:
结果
与弹出框区别
1、提示框的默认触发事件是hover和focus。而弹出框的默认触发事件是click
2、提示框只有一个内容(即title),而弹出框不仅可以设置标题title,还可以设置内容
警告框
按钮
多选单选
结果为:(第一个是多选,第二个是单选)
状态反转
还有另外一种有趣的按钮功能(状态反转),该功能现在只能通过js来实现,因为bootstrap里面已经把这个去掉了
代码实现如下:
结果如下:
折叠
旋转轮播
这个插件有很多译法,有人叫轮播。有人叫传送带,主要显示效果就像各大网站的多幅滚动广告一样。
用法
需要特别说明的是,ol指示符元素在三个部分的位置可以任意定义,左右控制链接(3)可以放在ol前面,也可以放在ol后面,但是千万不能放在carousel-inner样式div的前面(会被其遮住)
针对图片,轮播插件还提供了一个字幕说明样式(carousel-caption),紧接着img元素定义即可。
当然也可以用JS写这样的效果,这样比较灵活一点
代码为:
* $('.carousel').carousel({'interval': '5000',});
* $('#leftbtn').click(function(){
* $('.carousel').carousel('prev');
* });
* $('#rightbtn').click(function(){
* $('.carousel').carousel('next');
* });
* $('.num').click(function(){
* index=$(this).index('.num');
* $('.carousel').carousel(index);
* });
* $('[data-toggle="tooltip]').tooltip()
效果图为:
如果不点图中的按钮,则每隔5秒回轮播一次。
其他用法
除了data-ride=”carousel”、data-slide、data-slide-to以外,轮播组件还支持其他3个自定义属性,
如果没有data-ride=“carousel”属性,可以使用JavaScript代码来触发这个行为。用法如下:
|
|
###事件
该插件只提供两种事件类型.
自动定位浮标
自动定位浮标(Affix)效果就像bootstrap官方网站左边的导航链接一样(注意不是菜单的高亮和自动展示功能),功能如下:
- 1、在顶部的时候该菜单和第二部分的蓝色部分可以一起向上滚动
- 2、一旦蓝色的部分滚动完毕,该菜单导航就固定在左边不动了。其效果就像浮标一样。
解析代码:
基本效果如下所示: