BootStrap中的模态框(modal,弹出层)功能示例代码


Posted in Javascript onNovember 02, 2018

bootstrap中的模态框(modal),不同于Tooltips,模态框以弹出对话框的形式出现,具有最小和最实用的功能集。务必将模态框的 HTML 代码放在文档的最高层级内(也就是说,尽量作为 body 标签的直接子元素),以避免其他组件影响模态框的展现或功能。

BootStrap中的模态框(modal,弹出层)功能示例代码

默认的modal示例:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
 <meta charset="utf-8">
 <meta http-equiv="X-UA-Compatible" content="IE=edge">
 <meta name="viewport" content="width=device-width, initial-scale=1">
 <title>Bootstrap Modal</title>
 <link rel="stylesheet" href="http://cdn.bootcss.com/bootstrap/3.3.5/css/bootstrap.min.css">
</head>
<body>
<button type="button" class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal">
 Launch demo modal
</button>
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
 <div class="modal-dialog" role="document">
  <div class="modal-content">
   <div class="modal-header">
    <button type="button" class="close" data-dismiss="modal" aria-label="Close">
     <span aria-hidden="true">×</span>
    </button>
    <h4 class="modal-title" id="myModalLabel">Modal title</h4>
   </div>
   <div class="modal-body">
    <p>One fine body…</p>
   </div>
   <div class="modal-footer">
    <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
    <button type="button" class="btn btn-primary">Save</button>
   </div>
  </div>
 </div>
</div>
<script src="http://cdn.bootcss.com/jquery/1.11.3/jquery.min.js"></script>
<script src="http://cdn.bootcss.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
</body>
</html>

为 .modal 添加 role="dialog",用于指定模态框为对话框。为 .modal-dialog 添加 aria-hidden="true" 属性。通过 aria-describedby 属性为模态框 .modal 添加描述性信息。关闭动画如果你不需要模态框弹出时的动画效果(淡入淡出效果),删掉 .fade 类即可。

通过按钮属性显示不同内容当有一堆按钮,都要触发相同的模态框(如:向好友列表中某个人发消息),只是有用户ID不同,那么可以使用data-whatever配合event.relatedtarget来实现:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
 <meta charset="utf-8">
 <meta http-equiv="X-UA-Compatible" content="IE=edge">
 <meta name="viewport" content="width=device-width, initial-scale=1">
 <title>Bootstrap Modal</title>
 <link rel="stylesheet" href="http://cdn.bootcss.com/bootstrap/3.3.5/css/bootstrap.min.css">
</head>
<body>
<div class="panel panel-default">
 <div class="panel-heading">好友列表</div>
 <div class="panel-body">
  <div class="list-group" role="group" aria-label="好友列表">
   <button type="button" class="list-group-item" data-toggle="modal" data-target="#exampleModal"
     data-whatever="张三">张三
   </button>
   <button type="button" class="list-group-item" data-toggle="modal" data-target="#exampleModal"
     data-whatever="李四">李四
   </button>
   <button type="button" class="list-group-item" data-toggle="modal" data-target="#exampleModal"
     data-whatever="王二">王二
   </button>
  </div>
 </div>
</div>
<div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel">
 <div class="modal-dialog" role="document">
  <div class="modal-content">
   <div class="modal-header">
    <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span
      aria-hidden="true">×</span></button>
    <h4 class="modal-title" id="exampleModalLabel">New message</h4>
   </div>
   <div class="modal-body">
    <form>
     <div class="form-group">
      <label for="recipient-name" class="control-label">Recipient:</label>
      <input type="text" class="form-control" id="recipient-name">
     </div>
     <div class="form-group">
      <label for="message-text" class="control-label">Message:</label>
      <textarea class="form-control" id="message-text"></textarea>
     </div>
    </form>
   </div>
   <div class="modal-footer">
    <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
    <button type="button" class="btn btn-primary">Send message</button>
   </div>
  </div>
 </div>
</div>
<script src="http://cdn.bootcss.com/jquery/1.11.3/jquery.min.js"></script>
<script src="http://cdn.bootcss.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
<script>
 $('#exampleModal').on('show.bs.modal', function (event) {
  var button = $(event.relatedTarget) // 触发事件的按钮
  var recipient = button.data('whatever') // 解析出data-whatever内容
  var modal = $(this)
  modal.find('.modal-title').text('Message To ' + recipient)
  modal.find('.modal-body input').val(recipient)
 })
</script>
</body>
</html>

通常不需写 JavaScript 代码也可激活模态框。通过在一个起控制器作用的元素(例如:按钮)上添加 data-toggle="modal" 属性,或者 data-target="#foo" 属性,再或者 href="#foo" rel="external nofollow" 属性,用于指向被控制的模态框。通过JavaScript调用modal通常只需一行 JavaScript 代码,即可通过元素的 id myModal 调用模态框:

$('#myModal').modal(options)

JavaScript参数:

可以将选项通过 data 属性或 JavaScript 代码传递。对于 data 属性,需要将参数名称放到 data- 之后,例如 data-backdrop=""。

BootStrap中的模态框(modal,弹出层)功能示例代码

调用示例

1.将页面中的某块内容作为模态框激活。

接受可选参数 object。

$('#myModal').modal({
 keyboard: false
})

2.手动打开或关闭模态框。在模态框显示或隐藏之前返回到主调函数中(也就是,在触发 shown.bs.modal 或 hidden.bs.modal 事件之前)。$('#myModal').modal('toggle')
3.手动打开模态框。在模态框显示之前返回到主调函数中 (也就是,在触发 shown.bs.modal 事件之前)。$('#myModal').modal('show')
4.手动隐藏模态框。在模态框隐藏之前返回到主调函数中 (也就是,在触发 hidden.bs.modal 事件之前)。$('#myModal').modal('hide')
5.更新模态框,在模态框动态添加或删除内容时:$('#myModal').modal('handleUpdate')

绑定事件

Bootstrap 的模态框类提供了一些事件用于监听并执行你自己的代码。

BootStrap中的模态框(modal,弹出层)功能示例代码

如:

$('#myModal').on('hidden.bs.modal', function (e) {
 // do something...
})

总结

以上所述是小编给大家介绍的BootStrap中的模态框(modal,弹出层)功能示例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
JS高级拖动技术 setCapture,releaseCapture
Jul 31 Javascript
使用jQuery.fn自定义jQuery翻页插件
Jan 20 Javascript
对 jQuery 中 data 方法的误解分析
Jun 18 Javascript
JavaScript知识点总结(五)之Javascript中两个等于号(==)和三个等于号(===)的区别
May 31 Javascript
JS验证图片格式和大小并预览的简单实例
Oct 11 Javascript
bootstrap Validator 模态框、jsp、表单验证 Ajax提交功能
Feb 17 Javascript
javaScript中封装的各种写法示例(推荐)
Jul 03 Javascript
JavaScript实现异步图像上传功能
Jul 12 Javascript
vue组件中的样式属性scoped实例详解
Oct 30 Javascript
jQuery操作cookie的示例代码
Jun 05 jQuery
js对象数组和对象的使用实例详解
Aug 27 Javascript
在 Vue 中编写 SVG 图标组件的方法
Feb 24 Javascript
Bootstrap的aria-label和aria-labelledby属性实例详解
Nov 02 #Javascript
axios使用拦截器统一处理所有的http请求的方法
Nov 02 #Javascript
vue实现与安卓、IOS交互的方法
Nov 02 #Javascript
解决iview多表头动态更改列元素发生的错误的方法
Nov 02 #Javascript
JavaScript 点击触发复制功能实例详解
Nov 02 #Javascript
微信小程序实现留言板(Storage)
Nov 02 #Javascript
微信小程序实现留言板功能
Nov 02 #Javascript
You might like
全国FM电台频率大全 - 31 新疆维吾尔族自治区
2020/03/11 无线电
用Socket发送电子邮件(利用需要验证的SMTP服务器)
2006/10/09 PHP
用PHP编写PDF文档生成器
2006/10/09 PHP
Javascript下的keyCode键码值表
2007/04/10 Javascript
通用javascript脚本函数库 方便开发
2009/10/13 Javascript
JavaScript 原型链学习总结
2010/10/29 Javascript
jQuery之尺寸调整组件的深入解析
2013/06/19 Javascript
基于pthread_create,readlink,getpid等函数的学习与总结
2013/07/17 Javascript
node.js中的url.parse方法使用说明
2014/12/10 Javascript
javascript组合使用构造函数模式和原型模式实例
2015/06/04 Javascript
Bootstrap每天必学之导航
2015/11/26 Javascript
javascript url几种编码方式详解
2016/06/06 Javascript
BootStrap表单控件之复选框checkbox和单选择按钮radio
2017/05/23 Javascript
React-router中结合webpack实现按需加载实例
2017/05/25 Javascript
vue-awesome-swiper滑块插件使用方法详解
2017/11/27 Javascript
详解React Native 屏幕适配(炒鸡简单的方法)
2018/06/11 Javascript
Vue实现日历小插件
2019/06/26 Javascript
React实现类似淘宝tab居中切换效果的示例代码
2020/06/02 Javascript
Js图片点击切换轮播实现代码
2020/07/27 Javascript
Python 字典dict使用介绍
2014/11/30 Python
Python算法应用实战之栈详解
2017/02/04 Python
解决python 读取excel时 日期变成数字并加.0的问题
2019/10/08 Python
Python中常见的数制转换有哪些
2020/05/27 Python
vscode+PyQt5安装详解步骤
2020/08/12 Python
Jupyter Notebook安装及使用方法解析
2020/11/12 Python
Python爬虫破解登陆哔哩哔哩的方法
2020/11/17 Python
Python命令行参数定义及需要注意的地方
2020/11/30 Python
html5 分层屏幕适配的方法
2018/03/16 HTML / CSS
天美时手表加拿大官网:Timex加拿大
2016/09/01 全球购物
欧洲著名的珠宝和手表网上商城:uhrcenter
2017/04/10 全球购物
希尔顿酒店官方网站:Hilton Hotels
2017/06/01 全球购物
C语言笔试题回忆
2015/04/02 面试题
客户经理岗位职责
2013/12/08 职场文书
财产公证书样本
2014/04/04 职场文书
Nginx 502 bad gateway错误解决的九种方案及原因
2022/08/14 Servers
css清除浮动clearfix:after的用法详解(附完整代码)
2023/05/21 HTML / CSS