导入JavaScript插件

不论是单独导入还一次性导入之前必须先导入jQuery库。

  • 一次性导入

    <script src="js/bootstrap.min.js"></script>

  • 单独导入,可到github去下载

    动画过渡(Transitions): transition.js

    模态弹窗(Modal): modal.js

    下拉菜单(Dropdown): dropdown.js

    滚动侦测(Scrollspy): scrollspy.js

    选项卡(Tab): tab.js

    提示框(Tooltips): tooltop.js

    弹出框(Popover): popover.js

    警告框(Alert): alert.js

    按钮(Buttons): button.js

    折叠/手风琴(Collapse): collapse.js

    图片轮播Carousel: carousel.js

    自动定位浮标Affix: affix.js

动画过渡

都是采用CSS3来实现的,所以IE6-8浏览器是不具备这些过渡动画效果。

默认情况之下,Bootstrap框架中以下组件使用了过渡动画效果:

  1. 模态弹出窗(Modal)的滑动和渐变效果;
  2. 选项卡(Tab)的渐变效果;
  3. 警告框(Alert)的渐变效果;
  4. 图片轮播(Carousel)的滑动效果。

模态弹出框

模态弹出框统一称为 Modal

  • 结构分析

    分别运用了modalmodal-dialogmodal-content样式

    弹出窗真正的内容都放置在modal-content中,其主要又包括三个部分:

    1 弹出框头部,一般使用modal-header表示,主要包括标题和关闭按钮

    2 弹出框主体,一般使用modal-body表示,弹出框的主要内容

    3 弹出框脚部,一般使用modal-footer表示,主要放置操作按钮

  • 实现原理解析

    bootstrap中的“模态弹出框”有以下几个特点:

    1、模态弹出窗是固定在浏览器中的。

    2、模态弹出窗宽度是自适应的,而且modal-dialog水平居中。

    3、当浏览器视窗大于768px时,模态弹出窗的宽度为600px。

  • 尺寸选择

    modal-lg大尺寸

    modal-sm小尺寸(默认)

  • 触发模态弹出窗2种方法

    1、模态弹出窗声明,只需要自定义两个必要的属性:data-toggle(必须为modal)和data-target(ID值)

    2、触发模态弹出窗也可以是一个链接<a>元素,那么可以使用链接元素自带的href属性替代data-target属性

    不过建议还是使用统一使用data-target的方式来触发。

  • 为弹出框增加过度动画效果

    可通过给.modal增加类名fade为模态弹出框增加一个过渡动画效果。

  • data参数说明

属性名称 类型 默认值 描述
data-toggle 字符 modal 必须且为modal,用来控制模态弹出窗的显示
data-target 字符 用户自己定义 必须,定义要触发的弹出窗是哪一个。其值可以div.modal元素独有类名,或ID值
data-backdrop 布尔值 true 是否包含一个背景div元素,如果为true,则单击该背景时关闭弹出窗,如果取值为static,则单击背景div时不会关闭
data-keyboard 布尔值 true 按键盘的ESC键可以关闭弹出窗。如果值为false,则不会关闭
data-show 布尔值 true 初始化时,弹出窗是否显示
href URL路径 空值 如果通过a元素触发模态弹出窗,其href值不是一个以#开头的值,则表示是一个url地址,模态弹出窗先加载其内容,然后替换原有的modal-content中的内容。如果href设置了地址,那么data-target则必须填写制定ID值
  • JavaScript触发

    反转(如果当前为显示,则将其关闭;如果为关闭,则将其显示):$("#themodal").modal("toggle");

    显示:$("#themodal").modal("show");

    关闭:$("#themodal").modal("hide");

  • JavaScript触发时的参数设置

$(function () {
$(".btn").click(function () {
$("#mymodal").modal({
backdrop: false, // 相当于data-backdrop
keyboard: false, // 相当于data-keyboard
show: true, // 相当于data-show
remote: "" // 相当于a标签的href
});
});
});
  • JavaScript触发时的事件

    模态弹出窗支持四种类型的事件,分别是模态弹出窗的弹出前、弹出后,关闭前、关闭后
事件类型 描述
show.bs.modal 在show方法调用时立即触发(尚未显示之前);如果单击了一个元素,那么该元素将作为事件relatedTarget事件
shown.bs.modal 该事件在模态窗完全显示给用户之后(并且等CSS动画完成之后)触发;如果单击了一个元素,那么该元素将作为事件relatedTarget事件
hide.bs.modal 在hide方法调用时(但还未关闭隐藏)立即触发
hidden.bs.modal 该事件在模态弹出窗完全隐藏之后(并CSS动画漂亮完成之后)触发
$('#myModal').on('hidden.bs.modal', function (e) {
// 处理代码...
})
  • 示例
<!-- data-toggle必须为modal -->
<!-- data-target为div.modal元素独有类名,或ID值 -->
<button class="btn btn-primary" data-toggle="modal" data-target="#mymodal-data" data-backdrop="static" data-keyboard="false" type="button">通过data-target触发</button>
<!-- 模态弹出窗,由modal、modal-dialog和modal-content组成 -->
<!-- modal-lg大尺寸,还有modal-sm -->
<!-- fade弹出框过度动画效果 -->
<div class="modal fade modal-lg" id="mymodal-data" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<!-- modal-header弹出框头部 -->
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>
<h4 class="modal-title">模态弹出窗标题</h4>
</div>
<!-- modal-body弹出框主体 -->
<div class="modal-body">
<p>模态弹出窗主体内容</p>
</div>
<!-- modal-footer弹出框脚部 -->
<div class="modal-footer">
<!-- data-dismiss="modal"关闭模态弹出窗 -->
<button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
<button type="button" class="btn btn-primary">保存</button>
</div>
</div>
</div>
</div>

《玩转Bootstrap(JS插件篇)》笔记的更多相关文章

  1. HTML+CSS笔记 CSS笔记集合

    HTML+CSS笔记 表格,超链接,图片,表单 涉及内容:表格,超链接,图片,表单 HTML+CSS笔记 CSS入门 涉及内容:简介,优势,语法说明,代码注释,CSS样式位置,不同样式优先级,选择器, ...

  2. CSS笔记--选择器

    CSS笔记--选择器 mate的使用 <meta charset="UTF-8"> <title>Document</title> <me ...

  3. HTML+CSS笔记 CSS中级 一些小技巧

    水平居中 行内元素的水平居中 </a></li> <li><a href="#">2</a></li> &l ...

  4. HTML+CSS笔记 CSS中级 颜色&长度值

    颜色值 在网页中的颜色设置是非常重要,有字体颜色(color).背景颜色(background-color).边框颜色(border)等,设置颜色的方法也有很多种: 1.英文命令颜色 语法: p{co ...

  5. HTML+CSS笔记 CSS中级 缩写入门

    盒子模型代码简写 回忆盒模型时外边距(margin).内边距(padding)和边框(border)设置上下左右四个方向的边距是按照顺时针方向设置的:上右下左. 语法: margin:10px 15p ...

  6. HTML+CSS笔记 CSS进阶再续

    CSS的布局模型 清楚了CSS 盒模型的基本概念. 盒模型类型, 我们就可以深入探讨网页布局的基本模型了.布局模型与盒模型一样都是 CSS 最基本. 最核心的概念. 但布局模型是建立在盒模型基础之上, ...

  7. HTML+CSS笔记 CSS进阶续集

    元素分类 在CSS中,html中的标签元素大体被分为三种不同的类型:块状元素.内联元素(又叫行内元素)和内联块状元素. 常用的块状元素有: <div>.<p>.<h1&g ...

  8. HTML+CSS笔记 CSS进阶

    文字排版 字体 我们可以使用css样式为网页中的文字设置字体.字号.颜色等样式属性. 语法: body{font-family:"宋体";} 这里注意不要设置不常用的字体,因为如果 ...

  9. HTML+CSS笔记 CSS入门续集

    继承 CSS的某些样式是具有继承性的,那么什么是继承呢?继承是一种规则,它允许样式不仅应用于某个特定html标签元素,而且应用于其后代(标签). 语法: p{color:red;} <p> ...

  10. HTML+CSS笔记 CSS入门

    简介: </span>年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的<span>脚本解释程序</span>,作为ABC语言的一种继承. & ...

随机推荐

  1. linux的学习系列 8---进程管理

    当我们运行程序时,Linux会为程序创建一个特殊的环境,该环境包含程序运行需要的所有资源,以保证程序能够独立运行,不受其他程序的干扰.这个特殊的环境就称为进程. 每个 Linux 命令都与系统中的程序 ...

  2. Power oj2470/DFS

    题目链接 2469: C 小Y的难题(1) Time Limit: 1000 MS Memory Limit: 65536 KB Total Submit: 9 Accepted: 7 Page Vi ...

  3. Dynamic Performance Tables not accessible Automatic Statistics disabled for this session

    使用oracle时候统计会出现这个提示 Dynamic Performance Tables not accessible Automatic Statistics disabled for this ...

  4. iOS屏幕旋转 浅析

    一.两种orientation 了解屏幕旋转首先需要区分两种orientation 1.device orientation 设备的物理方向,由类型UIDeviceOrientation表示,当前设备 ...

  5. windows程序设计(二)

    MFC架构组成 1.CWinApp的派生类 2.必须在全局区定义一个派生类的对象 3.在CWinApp派生类内必须要有InitInstance虚函数的重写函数 在MFC软件工程以App类中的InitI ...

  6. PARTITION BY 和 group by

    sum()   over   (PARTITION   BY   ...)   是一个分析函数.   他执行的效果跟普通的sum   ...group   by   ...不一样,它计算组中表达式的累 ...

  7. Java 学习路线以及各阶段学习书籍,博文,视频的分享

    感谢: 感谢每一个打开这篇文章的人,听我在这里瞎扯!至于我为什么会有闲情写这篇文章呢?因为我每天想的是为什么要给我这样的需求,背后的人性是什么,我能再做些什么能让他更好.久而久之,我也稍微有了些自己的 ...

  8. Ubuntu root 密码设置及远程登录

    1. 修改 root 密码 sudo passwd root 2. 以其他账户登录,通过 sudo nano 修改 /etc/ssh/sshd_config : xxx@ubuntu14:~$ su ...

  9. 【项目笔记】【bug】数组空指针异常

    package com.example.googleplay.ui.holder; import java.util.ArrayList; import android.view.View; impo ...

  10. PVST+(每个VLAN 的生成树PVST 加)

    PVST+(每个VLAN 的生成树PVST 加) 实验拓扑: 分别在 SW1 和SW2 上show spanning-tree 查看结果: SW1#show spanning-tree VLAN000 ...