Bootstrap每天必学之模态框(Modal)插件


Posted in Javascript onApril 26, 2016

本节课我们主要学习一下 Bootstrap 中的模态框插件, 这是一款交互式网站非常常见的弹窗功能插件。

更多关于Bootstrap模态框插件内容请点击专题《Bootstrap Modal使用教程》进行学习,希望大家喜欢,下面继续

一.基本使用
使用模态框的弹窗组件需要三层 div 容器元素,分别为 modal(模态声明层)、
dialog(窗口声明层)、content(内容层)。在内容层里面,还有三层,分别为 header(头部)、body(主体)、footer(注脚)。
//基本实例

<!-- 模态声明,show 表示显示 -->
<div class="modal show" tabindex="-1">
 <!-- 窗口声明 -->
 <div class="modal-dialog">
 <!-- 内容声明 -->
 <div class="modal-content">
 <!-- 头部 -->
 <div class="modal-header">
 <button type="button" class="close"
 data-dismiss="modal">
 <span>×</span>
 </button>
 <h4 class="modal-title">会员登录</h4>
 </div>
 <!-- 主体 -->
 <div class="modal-body">
 <p>
 暂时无法登录会员
 </p>
 </div>
 <!-- 注脚 -->
 <div class="modal-footer">
 <button type="button" class="btn btn-default">
 注册
 </button>
 <button type="button" class="btn btn-primary">
 登录
 </button>
 </div>
 </div>
 </div>
</div>

如果想让模态框自动隐藏,然后通过点击按钮弹窗,那么需要做如下操作。

//模态框去掉 show,增加一个 id

<div class="modal" id="myModal">
//点击触发模态框显示

<button class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal">
 点击弹窗
</button>
//弹窗的大小有三种,默认情况下是正常,还有 lg(大)和 sm(小)

<div class="modal-dialog modal-lg">
<div class="modal-dialog sm-lg">
//可设置淡入淡出效果

<div class="modal fade" id="myModal">
//在主体部分使用栅格系统中的流体


<!-- 主体 -->
<div class="modal-body">
 <div class="container-fluid">
 <div class="row">
 <div class="col-md-4">
 1
 </div>
 <div class="col-md-4">
 1
 </div>
 <div class="col-md-4">
 1
 </div>
 </div>
 </div>
</div>

二.用法说明
基本使用介绍结束之后,我们就来看下插件的各种重要用法。所有的插件,都是基于JavaScript/jQuery 的。那么,就有四个要素:用法、参数、方法和事件。
1.用法
第一种:可以通过 data 属性

//data-toggle

data-toggle="modal" data-target="#myModal"

data-toggle 表示触发类型
data-target 表示触发的节点

如果不是使用<button>, 而是<a>, 其中 data-target 也可以使用 href="#myModal"

取代。当然,我们建议使用 data-target。除了 data-toggle 和 data-target 两个声明属性外,还有一些可以用选项。

2.参数
可以通过在 HTML 元素上设置 data-*的属性声明来控制效果。

Bootstrap每天必学之模态框(Modal)插件

//空白背景且点击不关闭

data-backdrop="false"
//按下 esc 不关闭

data-keyboard="false"
//初始化隐藏,如果是按钮点击触发,第一次点击则无法显示,第二次显示。

data-show="false"
//加载一次 index.html 到容器内

href="index.html"

当然,也可以在 JavaScript 直接设置。

Bootstrap每天必学之模态框(Modal)插件

//通过 jQuery 方式声明

$('#myModal').modal({
 show : true,
 backdrop : false,
 keyboard : false,
 remote : 'index.html',
});

3.方法
如果说,默认不显示弹窗,那么怎么才能通过点击前后弹窗呢?

Bootstrap每天必学之模态框(Modal)插件

//点击显示弹窗

$('#btn').on('click', function() {
 $('#myModal').modal('show');
});

4.事件
模态框支持 4 种时间,分别对应弹出前、弹出后、关闭前和关闭后。

Bootstrap每天必学之模态框(Modal)插件

$('#myModal').on('show.bs.modal', function() {
 alert('在 show 方法调用时立即触发!');
});

$('#myModal').on('shown.bs.modal', function() {
 alert('在模态框显示完毕后触发!');
});

$('#myModal').on('hide.bs.modal', function() {
 alert('在 hide 方法调用时立即触发!');
});

$('#myModal').on('hiden.bs.modal', function() {
 alert('在模态框显示完毕后触发!');
});

$('#myModal').on('loaded.bs.modal', function() {
 alert('远程数据加载完毕后触发!');
});

本文系列教程整理到:Bootstrap基础教程 专题中,欢迎点击学习。

如果大家还想深入学习,可以点击这里进行学习,再为大家附3个精彩的专题:

以上就是本文的全部内容,希望对大家的学习有所帮助。

Javascript 相关文章推荐
静态页面下用javascript操作ACCESS数据库(读增改删)的代码
May 14 Javascript
文本框根据输入内容自适应高度的代码
Oct 24 Javascript
加载 Javascript 最佳实践
Oct 30 Javascript
javascript关于open.window子页面执行完成后刷新父页面的问题分析
Apr 27 Javascript
node.js操作mysql(增删改查)
Jul 24 Javascript
如何让一个json文件显示在表格里【实现代码】
May 09 Javascript
使用store来优化React组件的方法
Oct 23 Javascript
Vue组件之单向数据流的解决方法
Nov 10 Javascript
Vue项目中配置pug解析支持
May 10 Javascript
浅谈javascript错误处理
Aug 11 Javascript
微信小程序开发之map地图组件定位并手动修改位置偏差
Aug 17 Javascript
vue中data改变后让视图同步更新的方法
Mar 29 Vue.js
深入理解JS中的substr和substring
Apr 26 #Javascript
js获取页面及个元素高度、宽度的代码
Apr 26 #Javascript
jQuery javascript获得网页的高度与宽度的实现代码
Apr 26 #Javascript
JQuery给select添加/删除节点的实现代码
Apr 26 #Javascript
js计算时间差代码【包括计算,天,时,分,秒】
Apr 26 #Javascript
js 求时间差的实现代码
Apr 26 #Javascript
Bootstrap表单组件教程详解
Apr 26 #Javascript
You might like
Linux环境下搭建php开发环境的操作步骤
2013/06/17 PHP
php中cookie的使用方法
2014/03/29 PHP
PHP类的封装与继承详解
2015/09/29 PHP
YII框架批量插入数据的方法
2017/03/18 PHP
(JS实现)MapBar中坐标的加密和解密的脚本
2007/05/16 Javascript
js继承 Base类的源码解析
2008/12/30 Javascript
jquery中dom操作和事件的实例学习-表单验证
2011/11/30 Javascript
使用phantomjs进行网页抓取的实现代码
2014/09/29 Javascript
限制上传文件大小和格式的jQuery插件实例
2015/01/24 Javascript
浅谈javascript中return语句
2015/07/15 Javascript
jQuery CSS3相结合实现时钟插件
2016/01/08 Javascript
jquery 实现回车登录详解及实例代码
2016/10/23 Javascript
bootstrap模态框实现拖拽效果
2016/12/14 Javascript
微信小程序 页面跳转如何实现传值
2017/04/05 Javascript
详解react使用react-bootstrap当轮子造车
2017/08/15 Javascript
浅谈在fetch方法中添加header后遇到的预检请求问题
2017/08/31 Javascript
用js实现before和after伪类的样式修改的示例代码
2017/09/07 Javascript
Vue自定义指令实现checkbox全选功能的方法
2018/02/28 Javascript
vue中使用element-ui进行表单验证的实例代码
2018/06/22 Javascript
从零开始在NPM上发布一个Vue组件的方法步骤
2018/12/20 Javascript
JS实现星星海特效
2019/12/24 Javascript
Vue 简单实现前端权限控制的示例
2020/12/25 Vue.js
使用Python脚本对Linux服务器进行监控的教程
2015/04/02 Python
Google开源的Python格式化工具YAPF的安装和使用教程
2016/05/31 Python
Python 实现数据库更新脚本的生成方法
2017/07/09 Python
python实现二维插值的三维显示
2018/12/17 Python
python 自定义装饰器实例详解
2019/07/20 Python
Keras 数据增强ImageDataGenerator多输入多输出实例
2020/07/03 Python
Python下载的11种姿势(小结)
2020/11/18 Python
python爬取抖音视频的实例分析
2021/01/19 Python
微软台湾官方网站:Microsoft台湾
2018/08/15 全球购物
毕业生多媒体设计求职信
2013/10/12 职场文书
受欢迎的大学生自我评价
2013/12/05 职场文书
离职证明范本(5篇)
2014/09/19 职场文书
Python 如何解决稀疏矩阵运算
2021/05/26 Python
Spring实现内置监听器
2021/07/09 Java/Android