JavaScript实现弹出窗口效果


Posted in Javascript onDecember 09, 2020

本文实例为大家分享了JavaScript实现弹出窗口的具体代码,供大家参考,具体内容如下

思路

1、总体使用两个div,一个作为底层展示,一个做为弹出窗口;
2、两个窗口独立进行CSS设计,通过display属性进行设置现实与隐藏,此处建议使用display属性而不是visibility属性,visibility:hidden可以隐藏某个元素,但隐藏的元素仍需占用与未隐藏之前一样的空间,影响布局;
3、在js内设计两个onclick事件,分别指定函数,分别为开启弹窗和关闭弹窗。

一、设置两个div

<html>
<title>弹出窗口</title>
<head>
 <meta charset="UTF-8">
</head>
<body>
 // 底层div
 <div id="popLayer">
 </div>
 // 弹出层div
 <div id="popDiv">
 </div>
</body>
</html>

二、对两个div进行独立CSS设置,弹出窗口display设为none

<html>
<title>弹出窗口</title>
<head>
 <meta charset="UTF-8">
 <style type="text/css">
 body{
 background-color: cyan;
 }
 #popDiv{
 display: none;
 background-color: crimson;
 z-index: 11;
 width: 600px;
 height: 600px;
 position:fixed;
 top:0;
 right:0;
 left:0;
 bottom:0;
 margin:auto;
 }
 </style>
</head>
<body>
 // 底层div
 <div id="popLayer">
 <button onclick="">弹窗</button>
 </div>
 
 // 弹出层div
 <div id="popDiv">
 <div class="close">
 // 关闭按钮超链接
 <a href="" onclick="">关闭</a>
 </div>
 <p>此处为弹出窗口</p>
 </div>
</body>
</html>

三、定义并设置弹出按钮和关闭窗口函数

<script type="text/javascript">
 function popDiv(){
  // 获取div元素
  var popBox = document.getElementById("popDiv");
  var popLayer = document.getElementById("popLayer");

  // 控制两个div的显示与隐藏
  popBox.style.display = "block";
  popLayer.style.display = "block";
 }

 function closePop(){
  // 获取弹出窗口元素
  let popDiv = document.getElementById("popDiv");

  popDiv.style.display = "none";
 }
</script>

四、将函数设置到onclick事件中

<button onclick="popDiv();">弹窗</button>
<a href="javascript:void(0)" onclick="closePop()">关闭</a>

五、设置关闭链接CSS和pop界面的其余CSS

<style type="text/css">
 /* 关闭链接样式 */
 #popDiv .close a {
  text-decoration: none;
  color: #2D2C3B;
 }
 /* 弹出界面的关闭链接 */
 #popDiv .close{
  text-align: right;
  margin-right: 5px;
  background-color: #F8F8F8;
 }
 #popDiv p{
  text-align: center;
  font-size: 25px;
  font-weight: bold;
 }
</style>

六、整体代码

<html>
<title>弹出窗口</title>
<head>
 <meta charset="UTF-8">
 <script type="text/javascript">
 function popDiv(){
  // 获取div元素
  var popBox = document.getElementById("popDiv");
  var popLayer = document.getElementById("popLayer");

  // 控制两个div的显示与隐藏
  popBox.style.display = "block";
  popLayer.style.display = "block";
 }

 function closePop(){
  // 获取弹出窗口元素
  let popDiv = document.getElementById("popDiv");

  popDiv.style.display = "none";
 }
 </script>
 <style type="text/css">
 body{
  background-color: cyan;
 }
 #popDiv{
  display: none;
  background-color: crimson;
  z-index: 11;
  width: 600px;
  height: 600px;
  position:fixed;
  top:0;
  right:0;
  left:0;
  bottom:0;
  margin:auto;
 }
 /* 关闭按钮样式 */
 #popDiv .close a {
  text-decoration: none;
  color: #2D2C3B;
 }
 /* 弹出界面的关闭按钮 */
 #popDiv .close{
  text-align: right;
  margin-right: 5px;
  background-color: #F8F8F8;
 }
 #popDiv p{
  text-align: center;
  font-size: 25px;
  font-weight: bold;
 }
 </style>
</head>
<body>
 <div id="popLayer">
 <button onclick="popDiv();">弹窗</button>
 </div>

 <div id="popDiv">
 <div class="close">
  <a href="javascript:void(0)" onclick="closePop()">关闭</a>
 </div>
  <p>此处为弹出窗口</p>
 </div>
</body>
</html>

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

Javascript 相关文章推荐
JSON.stringify 语法实例讲解
Mar 14 Javascript
B/S模式项目中常用的javascript汇总
Dec 17 Javascript
JS+JSP checkBox 全选具体实现
Jan 02 Javascript
js 删除数组的几种方法小结
Feb 21 Javascript
JavaScript学习笔记之JS事件对象
Jan 22 Javascript
Javascript中判断对象是否为空
Jun 10 Javascript
详解JavaScript中this关键字的用法
May 26 Javascript
浅谈javascript:两种注释,声明变量,定义函数
Oct 05 Javascript
Jquery Easyui分割按钮组件SplitButton使用详解(17)
Dec 18 Javascript
layui按条件隐藏表格列的实例
Sep 19 Javascript
在Vue 中实现循环渲染多个相同echarts图表
Jul 20 Javascript
四十九个javascript小知识实用技巧
Nov 20 Javascript
五句话帮你轻松搞定js原型链
Dec 09 #Javascript
JS常用跨域方法实现原理解析
Dec 09 #Javascript
video.js添加自定义组件的方法
Dec 09 #Javascript
手把手教你如何编译打包video.js
Dec 09 #Javascript
ES6 十大特性简介
Dec 09 #Javascript
Js实现粘贴上传图片的原理及示例
Dec 09 #Javascript
再也不怕 JavaScript 报错了,怎么看怎么处理都在这儿
Dec 09 #Javascript
You might like
php curl的深入解析
2013/06/02 PHP
PHP实现数据库统计时间戳按天分组输出数据的方法
2017/10/10 PHP
php面试实现反射注入的详细方法
2019/09/30 PHP
你需要知道的JavsScript可以做什么?
2007/06/29 Javascript
不要小看注释掉的JS 引起的安全问题
2008/12/27 Javascript
Javascript Function对象扩展之延时执行函数
2010/07/06 Javascript
JavaScript使用过程中需要注意的地方和一些基本语法
2010/08/26 Javascript
利用JQuery动画制作滑动菜单项效果实现步骤及代码
2013/02/07 Javascript
面向切面编程(AOP)的理解
2015/05/01 Javascript
JavaScript获取页面中超链接数量的方法
2015/11/09 Javascript
vue.js实现表格合并示例代码
2016/11/30 Javascript
详解javascript获取url信息的常见方法
2016/12/19 Javascript
js中开关变量使用实例
2017/02/24 Javascript
jQuery实现切换隐藏与显示同时切换图标功能
2017/10/29 jQuery
js变量声明var使用与不使用的区别详解
2019/01/21 Javascript
原生JS实现拖拽功能
2020/12/16 Javascript
python数据清洗系列之字符串处理详解
2017/02/12 Python
详解Python核心编程中的浅拷贝与深拷贝
2018/01/07 Python
浅析python打包工具distutils、setuptools
2018/04/20 Python
Python 输入一个数字判断成绩分数等级的方法
2018/11/15 Python
Python脚本实现监听服务器的思路代码详解
2020/05/28 Python
详解如何使用Pytest进行自动化测试
2021/01/14 Python
Argos官网:英国家喻户晓的百货零售连锁商
2017/04/03 全球购物
女方回门宴答谢词
2014/01/14 职场文书
校园安全广播稿
2014/02/08 职场文书
升旗仪式演讲稿
2014/05/08 职场文书
做一个有道德的人演讲稿
2014/05/14 职场文书
医德医风演讲稿
2014/05/20 职场文书
新党章心得体会
2014/09/04 职场文书
超市开店计划书
2014/09/15 职场文书
2014年劳动部工作总结
2014/12/11 职场文书
会计继续教育培训心得体会
2016/01/19 职场文书
超市啤酒狂欢夜策划方案范文!
2019/07/03 职场文书
golang在GRPC中设置client的超时时间
2021/04/27 Golang
RestTemplate如何通过HTTP Basic Auth认证示例说明
2022/03/17 Java/Android
nginx静态资源的服务器配置方法
2022/07/07 Servers