js模态对话框使用方法详解


Posted in Javascript onFebruary 16, 2017

模态框(Modal  Dialogue Box)也可叫做模态对话框,或者对话框,当一个模态框被打开时,用户可以与该对话框进行交互,点击关闭按钮可关闭该模态框!

功能实现:

1. 页面上有一个按钮,用于打开模态框,模态框默认隐藏;

2. 用户点击按钮,可打开模态框;用户点击模态框中的关闭或者点击页面其他地方可关闭该模态框

✦  点击页面其他地方,关闭模态框,可用window.onclick事件

✦  给关闭按钮绑定点击事件,按钮被点击,模态框Modal添加样式display:none;

✦  给button按钮绑定点击事件,当按钮被点击时,模态框Modal添加样式display:block;

✦  先获取页面上的button按钮,关闭按钮,以及模态框Modal

代码实现:

<html> 
<head> 
  <style> 
    /* 弹窗 (background) */ 
    .modal { 
      display: none; /* 默认隐藏 */ 
      position: fixed; 
      z-index: 1; 
      padding-top: 100px; 
      left: 0; 
      top: 0; 
      width: 100%; 
      height: 100%; 
      overflow: auto; 
      background-color: rgb(0,0,0); 
      background-color: rgba(0,0,0,0.4); 
    } 
 
    /* 弹窗内容 */ 
    .modal-content { 
      position: relative; 
      background-color: #fefefe; 
      margin: auto; 
      padding: 0; 
      border: 1px solid #888; 
      width: 35%; 
      box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19); 
      -webkit-animation-name: animatetop; 
      -webkit-animation-duration: 0.4s; 
      animation-name: animatetop; 
      animation-duration: 0.4s 
    } 
 
    /* 添加动画 */ 
    @-webkit-keyframes animatetop { 
      from {top:-300px; opacity:0} 
      to {top:0; opacity:1} 
    } 
 
    @keyframes animatetop { 
      from {top:-300px; opacity:0} 
      to {top:0; opacity:1} 
    } 
 
    /* 关闭按钮 */ 
    .close { 
      color: white; 
      float: right; 
      font-size: 28px; 
      font-weight: bold; 
    } 
 
    .close:hover, 
    .close:focus { 
      color: #000; 
      text-decoration: none; 
      cursor: pointer; 
    } 
 
    .modal-header { 
      padding: 2px 16px; 
      background-color: #5587A2; 
      color: white; 
    } 
 
    .modal-body {padding: 2px 16px;} 
 
    .modal-footer { 
      padding: 2px 16px; 
      background-color: #5587A2; 
      text-align: right; 
      color: white; 
    } 
  </style> 
</head> 
<body> 
  <!-- 打开弹窗按钮 --> 
  <button id="myBtn">打开弹窗</button> 
 
  <!-- 弹窗 --> 
  <div id="myModal" class="modal"> 
 
    <!-- 弹窗内容 --> 
    <div class="modal-content"> 
      <div class="modal-header"> 
        <span class="close">×</span> 
        <h2>弹窗头部</h2> 
      </div> 
      <div class="modal-body"> 
        <p>弹窗内容...</p> 
        <p>弹窗内容...</p> 
      </div> 
      <div class="modal-footer"> 
        <h3>弹窗底部</h3> 
      </div> 
    </div> 
 
  </div> 
  <script> 
    // 获取弹窗 
    var modal = document.getElementById('myModal'); 
 
    // 打开弹窗的按钮对象 
    var btn = document.getElementById("myBtn"); 
 
    // 获取 <span> 元素,用于关闭弹窗 that closes the modal 
    var span = document.getElementsByClassName("close")[0]; 
 
    // 点击按钮打开弹窗 
    btn.onclick = function() { 
      modal.style.display = "block"; 
    } 
 
    // 点击 <span> (x), 关闭弹窗 
    span.onclick = function() { 
      modal.style.display = "none"; 
    } 
 
    // 在用户点击其他地方时,关闭弹窗 
    window.onclick = function(event) { 
      if (event.target == modal) { 
        modal.style.display = "none"; 
      } 
    } 
  </script> 
</body> 
</html>

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

Javascript 相关文章推荐
侧栏跟随滚动的简单实现代码
Mar 18 Javascript
Extjs4 类的定义和扩展实例
Jun 28 Javascript
使用jQuery实现更改默认alert框体
Apr 13 Javascript
JS实现弹出浮动窗口(支持鼠标拖动和关闭)实例详解
Aug 06 Javascript
JavaScript中Object.prototype.toString方法的原理
Feb 24 Javascript
Vue.js 中的 $watch使用方法
May 25 Javascript
使用classList来实现两个按钮样式的切换方法
Jan 24 Javascript
小程序双头slider选择器的实现示例
Mar 31 Javascript
vue.js实现简单购物车功能
May 30 Javascript
vue各种事件监听实例(小结)
Jun 24 Javascript
Angular性能优化之第三方组件和懒加载技术
May 10 Javascript
TS 类型兼容教程示例详解
Sep 23 Javascript
javascript获取以及设置光标位置
Feb 16 #Javascript
JavaScript实现翻页功能(附效果图)
Feb 16 #Javascript
浅谈$_FILES数组为空的原因
Feb 16 #Javascript
原生js实现秒表计时器功能
Feb 16 #Javascript
js 将input框中的输入自动转化成半角大写(税号输入框)
Feb 16 #Javascript
基于JS实现翻书效果的页面切换样式
Feb 16 #Javascript
js实现3d悬浮效果
Feb 16 #Javascript
You might like
PHP无限分类的类
2007/01/02 PHP
destoon实现首页显示供应、企业、资讯条数的方法
2014/07/15 PHP
基于jQuery的表格操作插件
2010/04/22 Javascript
location.search在客户端获取Url参数的方法
2010/06/08 Javascript
js综合应用实例简单的表格统计
2013/09/03 Javascript
JS实现模仿微博发布效果实例代码
2013/12/16 Javascript
jquery对元素拖动排序示例
2014/01/16 Javascript
倒记时60刷新网页的js代码
2014/02/18 Javascript
Jquery弹出层插件ThickBox的使用方法
2014/12/09 Javascript
javascript数组输出的两种方式
2015/01/13 Javascript
JS获取图片高度宽度的方法分享
2015/04/17 Javascript
javascript实现表单提交后,提交按钮不可用的方法
2015/04/18 Javascript
js实现文本框选中的方法
2015/05/26 Javascript
jQuery实现垂直半透明手风琴特效代码分享
2015/08/21 Javascript
一些实用性较高的js方法
2016/04/19 Javascript
jQuery链式调用与show知识浅析
2016/05/11 Javascript
jQuery实现简单弹窗遮罩效果
2017/02/27 Javascript
使用 Vue 绑定单个或多个 Class 名的实例代码
2018/01/08 Javascript
浅谈React中组件间抽象
2018/01/27 Javascript
element-ui 表格实现单元格可编辑的示例
2018/02/26 Javascript
解决Vue.js父组件$on无法监听子组件$emit触发事件的问题
2018/09/12 Javascript
Vue记住滚动条和实现下拉加载的完美方法
2020/07/31 Javascript
JS实现炫酷雪花飘落效果
2020/08/19 Javascript
深入浅析python定时杀进程
2016/06/06 Python
wxPython之解决闪烁的问题
2018/01/15 Python
批量将ppt转换为pdf的Python代码 只要27行!
2018/02/26 Python
用Python写脚本,实现完全备份和增量备份的示例
2018/04/29 Python
Pandas DataFrame中的tuple元素遍历的实现
2019/10/23 Python
迪拜航空官方网站:flydubai
2017/04/20 全球购物
英国绿色商店:Natural Collection
2019/05/03 全球购物
Contém1g官网:巴西彩妆品牌
2020/01/17 全球购物
正科级干部考察材料
2014/05/29 职场文书
公司行政助理岗位职责
2015/04/11 职场文书
面试通知单大全
2015/04/20 职场文书
2015年电教工作总结
2015/05/26 职场文书
详解Anyscript开发指南绕过typescript类型检查
2022/09/23 Javascript