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写的菜单从左往右滑动出现
Apr 11 Javascript
jquery中 $.expr使用实例介绍
Jun 09 Javascript
JavaScript中的getMilliseconds()方法使用详解
Jun 10 Javascript
JavaScript中模拟实现jsonp
Jun 19 Javascript
JavaScript中日期函数的相关操作知识
Aug 03 Javascript
vue.js  父向子组件传参的实例代码
Oct 29 Javascript
Material(包括Material Icon)在Angular2中的使用详解
Feb 11 Javascript
微信小程序实现自定义modal弹窗封装的方法
Jun 15 Javascript
Vue条件循环判断+计算属性+绑定样式v-bind的实例
Sep 18 Javascript
详解Next.js页面渲染的优化方案
Jan 27 Javascript
微信小程序swiper左右扩展各显示一半代码实例
Dec 05 Javascript
详解CocosCreator消息分发机制
Apr 16 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 mssql 日期出现中文字符的解决方法
2009/03/10 PHP
php数组转换js数组操作及json_encode的用法详解
2013/10/26 PHP
PHP的Yii框架使用中的一些错误解决方法与建议
2015/08/21 PHP
php中pcntl_fork创建子进程的方法实例
2019/03/14 PHP
js获取当前月的第一天和最后一天的小例子
2013/11/18 Javascript
js实现数组去重、判断数组以及对象中的内容是否相同
2013/11/29 Javascript
ExtJS4中使用mixins实现多继承示例
2013/12/03 Javascript
PHP+jQuery+Ajax实现多图片上传效果
2015/03/14 Javascript
如何使用jQuery技术开发ios风格的页面导航菜单
2015/07/29 Javascript
javascript实现标签切换代码示例
2016/05/22 Javascript
前端 Vue.js 和 MVVM 详细介绍
2016/12/29 Javascript
JS设置CSS样式的方式汇总
2017/01/21 Javascript
vue 运用mock数据的示例代码
2017/11/07 Javascript
vue this.reload 方法 配置
2018/09/12 Javascript
4个顶级JavaScript高级文本编辑器
2018/10/10 Javascript
mocha的时序规则讲解
2019/02/16 Javascript
使vue实现jQuery调用的两种方法
2019/05/12 jQuery
Vue项目中使用jquery的简单方法
2019/05/16 jQuery
laravel-admin 与 vue 结合使用实例代码详解
2019/06/04 Javascript
前端路由&amp;webpack基础配置详解
2019/06/10 Javascript
js回调函数仿360开机
2019/12/26 Javascript
详解Vue之事件处理
2020/07/10 Javascript
Python实现配置文件备份的方法
2015/07/30 Python
Python聊天室程序(基础版)
2018/04/01 Python
使用 Python 清理收藏夹里已失效的网站
2019/12/03 Python
win10下opencv-python特定版本手动安装与pip自动安装教程
2020/03/05 Python
Python执行时间的几种计算方法
2020/07/31 Python
详解如何解决canvas图片getImageData,toDataURL跨域问题
2018/09/17 HTML / CSS
HTML5公共页面提取作为公用代码的方法
2020/06/30 HTML / CSS
查询优化的一般准则有哪些
2015/03/08 面试题
啦啦队口号大全
2014/06/16 职场文书
在校实习生求职信
2014/06/18 职场文书
辞职信的写法
2015/02/27 职场文书
中学生自我评价范文
2015/03/03 职场文书
Python带你从浅入深探究Tuple(基础篇)
2021/05/15 Python
Vscode中SSH插件如何远程连接Linux
2022/05/02 Servers