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 相关文章推荐
jquery 实现两级导航菜单附效果图
Mar 07 Javascript
通过jquery 获取URL参数并进行转码
Aug 18 Javascript
js仿淘宝和百度文库的评分功能
May 15 Javascript
Vue 单文件中的数据传递示例
Mar 21 Javascript
H5上传本地图片并预览功能
May 08 Javascript
基于jQuery实现的单行公告活动轮播效果
Aug 23 jQuery
在Vue组件化中利用axios处理ajax请求的使用方法
Aug 25 Javascript
深入理解vue-router之keep-alive
Aug 31 Javascript
解决Jquery下拉框数据动态获取的问题
Jan 25 jQuery
vue 设置路由的登录权限的方法
Jul 03 Javascript
VUE项目axios请求头更改Content-Type操作
Jul 24 Javascript
JavaScript实现世界各地时间显示
Sep 07 Javascript
深入理解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
php实例分享之mysql数据备份
2014/05/19 PHP
php生成静态页面并实现预览功能
2019/06/27 PHP
javascript编程起步(第六课)
2007/01/10 Javascript
HTML中Select不用Disabled实现ReadOnly的效果
2008/04/07 Javascript
用js实现计算加载页面所用的时间
2010/04/02 Javascript
AJAX异步从优酷专辑中采集所有视频及信息(JavaScript代码)
2010/11/20 Javascript
js原生态函数中使用jQuery中的 $(this)无效的解决方法
2011/05/25 Javascript
JavaScript实现快速排序(自已编写)
2012/12/19 Javascript
JQuery对id中含有特殊字符的转义处理示例
2013/09/06 Javascript
javascript垃圾收集机制与内存泄漏详细解析
2013/11/11 Javascript
jQuery实现简单网页遮罩层/弹出层效果兼容IE6、IE7
2014/06/16 Javascript
超级给力的JavaScript的React框架入门教程
2015/07/02 Javascript
javascript中this用法实例详解
2017/04/06 Javascript
使用原生js写ajax实例(推荐)
2017/05/31 Javascript
node.js支持多用户web终端实现及安全方案
2017/11/29 Javascript
Angular2 父子组件通信方式的示例
2018/01/29 Javascript
Vue实现简单的留言板
2020/10/23 Javascript
[02:43]DOTA2英雄基础教程 德鲁伊
2014/01/13 DOTA
[01:04:05]VG vs Newbee 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
python实现邮件自动发送
2019/08/10 Python
浅析python 通⽤爬⾍和聚焦爬⾍
2020/09/28 Python
CSS+jQuery+PHP+MySQL实现的在线答题功能
2015/04/25 HTML / CSS
HTML5 Canvas 起步(2) - 路径
2009/05/12 HTML / CSS
JBL英国官网:JBL UK
2018/07/04 全球购物
Java中各种基本数据类型的默认值都是什么
2016/12/22 面试题
跟单文员的岗位职责
2013/11/14 职场文书
酒店总经理欢迎词
2014/01/08 职场文书
教师校本培训方案
2014/02/26 职场文书
教师廉洁自律承诺书
2014/05/26 职场文书
2014年电话销售工作总结
2014/12/01 职场文书
优秀教研组申报材料
2014/12/26 职场文书
法人代表证明书范本
2015/06/18 职场文书
2015大学生入党个人自传
2015/06/26 职场文书
格列佛游记读书笔记
2015/06/30 职场文书
《认识钟表》教学反思
2016/02/16 职场文书
Windows Server 2008 修改远程登录端口以及配置防火墙
2022/04/28 Servers