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 相关文章推荐
Highcharts 非常实用的Javascript统计图demo示例
Jul 03 Javascript
javascript利用apply和arguments复用方法
Nov 25 Javascript
JS中FRAME的操作问题实例分析
Oct 21 Javascript
javascript手工制作悬浮菜单
Feb 12 Javascript
jQuery实现的感应鼠标悬停图片色彩渐显效果
Mar 03 Javascript
jQuery提示插件alertify使用指南
Apr 21 Javascript
使用Math.max,Math.min获取数组中的最值实例
Apr 25 Javascript
AngularJS实现自定义指令及指令配置项的方法
Nov 20 Javascript
react实现菜单权限控制的方法
Dec 11 Javascript
vue按需加载实例详解
Sep 06 Javascript
vue中添加与删除关键字搜索功能
Oct 12 Javascript
JS实现扫雷项目总结
May 19 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 echo()和print()、require()和include()函数区别说明
2010/03/27 PHP
php利用iframe实现无刷新文件上传功能的代码
2011/09/29 PHP
php中fsockopen用法实例
2015/01/05 PHP
php+ajax实现无刷新数据分页的办法
2015/11/02 PHP
PHP检测用户是否关闭浏览器的方法
2016/02/14 PHP
从ThinkPHP3.2.3过渡到ThinkPHP5.0学习笔记图文详解
2019/04/03 PHP
laravel在中间件内生成参数并且传递到控制器中的2种姿势
2019/10/15 PHP
ASP.NET jQuery 实例9  通过控件hyperlink实现返回顶部效果
2012/02/03 Javascript
一个js控制的导航菜单实例代码
2013/12/03 Javascript
简要了解jQuery移动web开发的响应式布局设计
2015/12/04 Javascript
聊一聊JS中this的指向问题
2016/06/17 Javascript
AngularJS 过滤器的简单实例
2016/07/27 Javascript
jQuery简单创建节点的方法
2016/09/09 Javascript
AngularJS中$injector、$rootScope和$scope的概念和关联关系深入分析
2017/01/19 Javascript
微信小程序 视图容器组件的详解及实例代码
2017/01/19 Javascript
jQuery插件zTree实现删除树子节点的方法示例
2017/03/08 Javascript
vue封装第三方插件并发布到npm的方法
2017/09/25 Javascript
layui中layer前端组件实现图片显示功能的方法分析
2017/10/13 Javascript
JavaScript轮播停留效果的实现思路
2018/05/24 Javascript
echarts实现地图定时切换散点与多图表级联联动详解
2018/08/07 Javascript
vue  directive定义全局和局部指令及指令简写
2018/11/20 Javascript
Vue 实现前端权限控制的示例代码
2019/07/09 Javascript
[51:07]VGJ.S vs Pain 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
对Python定时任务的启动和停止方法详解
2019/02/19 Python
Python弹出输入框并获取输入值的实例
2019/06/18 Python
python2与python3爬虫中get与post对比解析
2019/09/18 Python
Pytorch to(device)用法
2020/01/08 Python
python 实现在无序数组中找到中位数方法
2020/03/03 Python
纯CSS3实现地球自转实现代码(图文教程附送源码)
2012/12/26 HTML / CSS
高清屏下canvas重置尺寸引发的问题的解决
2019/10/14 HTML / CSS
美国在线健康和美容市场:Pharmapacks
2018/12/05 全球购物
Blank NYC官网:夹克、牛仔裤等
2020/12/16 全球购物
九九重阳节标语
2014/10/07 职场文书
一百条裙子读书笔记
2015/07/01 职场文书
2016年基层党支部书记公开承诺书
2016/03/25 职场文书
Kubernetes关键组件与结构组成介绍
2022/03/31 Servers