Bootstrap模态框插件使用详解


Posted in Javascript onMay 11, 2017

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

1.基本使用

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

结合具体演示来理解如下内容:

<!-- 模态框的声明 class="modal show" 显示模态框 fade淡入淡出效果-->
 <div class="modal fade" id="myModal" tabindex="-1"> <!-- id:设置id定位, tabindex: 设置取消 -->
  <!-- 模态框窗口的声明 -->
  <div class="modal-dialog modal-lg"> <!-- modal-lg,sm 设置模态框大小 -->
   <!-- 内容声明 -->
   <div class="modal-content">
    <!-- 模态框头部 -->
    <div class="modal-header">
     <!-- 关闭按钮(在没有show的情况下才能关闭) -->
     <button class="close" data-dismiss="modal"><span>×</span></button> 
     <h4 class="modal-title">会员登录</h4>
    </div>
    <!-- 模态框主体 -->
    <div class="modal-body">
     <!-- <p>暂时无法服务</p> -->
     <!-- 在主体部分使用栅格系统中的流体 -->
     <div class="container-fluid">
      <div class="row">
       <div class="col-sm-4">1</div>
       <div class="col-sm-4">2</div>
       <div class="col-sm-4">3</div>
      </div>
     </div>
    </div>
    <!-- 模态框注脚(默认居右)-->
    <div class="modal-footer">
     <button class="btn btn-default">注册</button>
     <button class="btn btn-primary">登录</button>
    </div>
   </div>
  </div>
 </div>

 <!-- 点击触发模态框 data-toggle:表明点击是一个模态框的弹窗类型,
  data-target:定位到指定的模态框节点data-target可以换成href
  -->
  <button class="btn btn-primary" data-toggle="modal" data-target="#myModal">点击弹窗</button>

 <!--使用插件其它方法时的设置-->
 <!-- <button class="btn btn-primary" id="btn" > -->

2.插件的用法

所有的插件,都是基于JavaScript/jQuery 的。

有四个要素:用法、参数、方法和事件。

1. 用法

第一种:可以通过 data 属性

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模态框插件使用详解

空白背景且点击不关闭 : data-backdrop=”false”

按下 esc 不关闭 : data-keyboard=”false”

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

加载一次 index.html 到容器内 : href=”index.html”

也可以在 JavaScript 直接设置

Bootstrap模态框插件使用详解

//通过 jQuery 方式声明

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

3. 方法

如果默认不显示弹窗,通过点击前后弹窗的实现

Bootstrap模态框插件使用详解

//点击显示弹窗

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

4. 事件

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

Bootstrap模态框插件使用详解

$('#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('远程数据加载完毕后触发!');
});

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js 获取radio按钮值的实例
Aug 17 Javascript
jQuery插件zepto.js简单实现tab切换
Jun 16 Javascript
跟我学习javascript的this关键字
May 28 Javascript
jQuery的图片轮播插件PgwSlideshow使用详解
Aug 11 Javascript
浅析JavaScriptSerializer类的序列化与反序列化
Nov 22 Javascript
Three.js如何实现雾化效果示例代码
Sep 27 Javascript
jQuery ajax读取本地json文件的实例
Oct 31 jQuery
vue项目使用微信公众号支付总结及遇到的坑
Oct 23 Javascript
解决JS表单验证只有第一个IF起作用的问题
Dec 04 Javascript
浅谈layui框架自带分页和表格重载的接口解析问题
Sep 11 Javascript
对layui中table组件工具栏的使用详解
Sep 19 Javascript
Jquery高级应用Deferred对象原理及使用实例
May 28 jQuery
canvas实现弧形可拖动进度条效果
May 11 #Javascript
es6学习笔记之Async函数的使用示例
May 11 #Javascript
Node.js安装配置图文教程
May 10 #Javascript
使用bootstrap插件实现模态框效果
May 10 #Javascript
详解Vue用axios发送post请求自动set cookie
May 10 #Javascript
Node.js 异步异常的处理与domain模块解析
May 10 #Javascript
基于Node的React图片上传组件实现实例代码
May 10 #Javascript
You might like
PHP 第二节 数据类型之数值型
2012/04/28 PHP
编译PHP报错configure error Cannot find libmysqlclient under usr的解决方法
2014/06/27 PHP
PHP函数按引用传递参数及函数可选参数用法示例
2018/06/04 PHP
Thinkphp5.0 框架的请求方式与响应方式分析
2019/10/14 PHP
9个javascript语法高亮插件 推荐
2009/07/18 Javascript
比较详细的关于javascript 解析json的代码
2009/12/16 Javascript
JavaScript 序列化对象实现代码
2009/12/18 Javascript
jQuery学习笔记之DOM对象和jQuery对象
2010/12/22 Javascript
有关javascript的性能优化 (repaint和reflow)
2013/04/12 Javascript
setInterval()和setTimeout()的用法和区别示例介绍
2013/11/17 Javascript
jquery+json实现数据二级联动的方法
2015/11/28 Javascript
使用BootStrap建立响应式网页——通栏轮播图(carousel)
2016/12/21 Javascript
JavaScript注册时密码强度校验代码
2017/06/30 Javascript
jQuery事件对象的属性和方法详解
2017/09/09 jQuery
Angularjs Promise实例详解
2018/03/15 Javascript
解决Vue.js由于延时显示了{{message}}引用界面的问题
2018/08/25 Javascript
Nuxt.js开启SSR渲染的教程详解
2018/11/30 Javascript
JavaScript前端页面搜索功能案例【基于jQuery】
2019/07/10 jQuery
详解vue-cli项目开发/生产环境代理实现跨域请求
2019/07/23 Javascript
js实现简单的点名器随机色实例代码
2020/09/20 Javascript
[01:03:22]LGD vs OG 2018国际邀请赛淘汰赛BO3 第一场 8.25
2018/08/29 DOTA
使用Python的判断语句模拟三目运算
2015/04/24 Python
在Python中处理字符串之isdecimal()方法的使用
2015/05/20 Python
使用python和Django完成博客数据库的迁移方法
2018/01/05 Python
利用python在excel里面直接使用sql函数的方法
2019/02/08 Python
python网络编程:socketserver的基本使用方法实例分析
2020/04/09 Python
中国宠物用品商城:E宠商城
2016/08/27 全球购物
eBay比利时购物网站:eBay.be
2019/08/09 全球购物
如何拷贝一整个Java对象,包括它的状态
2013/12/27 面试题
Java中的异常处理机制的简单原理和应用
2013/04/27 面试题
销售心得体会
2014/01/02 职场文书
2014年五四青年节活动策划书
2014/04/22 职场文书
日语专业求职信
2014/07/04 职场文书
父亲节活动策划方案
2014/08/24 职场文书
退学证明范本3篇
2014/10/29 职场文书
MySQL Router实现MySQL的读写分离的方法
2021/05/27 MySQL