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 相关文章推荐
慎用 somefunction.prototype 分析
Jun 02 Javascript
jQuery 通过事件委派一次绑定多种事件,以减少事件冗余
Jun 30 Javascript
Draggable Elements 元素拖拽功能实现代码
Mar 30 Javascript
浅析Prototype的模板类 Template
Dec 07 Javascript
AngularJS实现表单验证
Jan 28 Javascript
jquery实现用户信息修改验证输入方法汇总
Jul 18 Javascript
利用Angularjs和Bootstrap前端开发案例实战
Aug 27 Javascript
javascript特殊文本输入框网页特效
Sep 13 Javascript
微信小程序适配iphoneX的实现方法
Sep 18 Javascript
js 判断当前时间是否处于某个一个时间段内
Sep 19 Javascript
JS eval代码快速解密实例解析
Apr 23 Javascript
详解vue-router的导航钩子(导航守卫)
Nov 02 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以及MYSQL日期比较方法
2012/11/29 PHP
php几个预定义变量$_SERVER用法小结
2014/11/07 PHP
php 批量查询搜狗sogou代码分享
2015/05/17 PHP
PHP中如何判断exec函数执行成功?
2016/08/04 PHP
php结合redis高并发下发帖、发微博的实现方法
2016/12/15 PHP
thinkphp 中的volist标签在ajax操作中的特殊性(推荐)
2018/01/15 PHP
用js判断用户浏览器是否是XP SP2的IE6
2007/03/08 Javascript
jsp js鼠标移动到指定区域显示选项卡离开时隐藏示例
2013/06/14 Javascript
Vue.js 中的 $watch使用方法
2017/05/25 Javascript
JavaScript代码判断输入的字符串是否含有特殊字符和表情代码实例
2017/08/17 Javascript
JS中使用react-tooltip插件实现鼠标悬浮显示框
2019/05/15 Javascript
Vue使用axios出现options请求方法
2019/05/30 Javascript
新手入门带你学习JavaScript引擎运行原理
2019/06/24 Javascript
原生JS实现相邻月份日历
2020/10/13 Javascript
JS highcharts动态柱状图原理及实现
2020/10/16 Javascript
Python的高级Git库 Gittle
2014/09/22 Python
python实现简单遗传算法
2018/03/19 Python
python 批量修改/替换数据的实例
2018/07/25 Python
python 使用pandas计算累积求和的方法
2019/02/08 Python
python多线程扫描端口(线程池)
2019/09/04 Python
python循环嵌套的多种使用方法解析
2019/11/29 Python
tensorflow实现tensor中满足某一条件的数值取出组成新的tensor
2020/01/04 Python
python 实现一个简单的线性回归案例
2020/12/17 Python
详解Python遍历列表时删除元素的正确做法
2021/01/07 Python
美国户外生活方式品牌:Eddie Bauer
2016/12/28 全球购物
施华洛世奇韩国官网:SWAROVSKI韩国
2018/06/05 全球购物
Tessabit日本:集世界奢侈品和设计师品牌的意大利精品买手店
2020/01/07 全球购物
一些Unix笔试题和面试题
2012/09/25 面试题
假日旅行社实习自我鉴定
2013/09/24 职场文书
初婚未育未抱养证明
2014/01/12 职场文书
成龙洗发水广告词
2014/03/14 职场文书
县政府班子个人对照检查材料
2014/10/05 职场文书
2015年小学体育工作总结
2015/05/22 职场文书
单位车辆管理制度
2015/08/05 职场文书
导游词之河北邯郸
2019/09/12 职场文书
python保存图片的四个常用方法
2022/02/28 Python