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 相关文章推荐
firefox中JS读取XML文件
Dec 21 Javascript
用JavaScript实现仿Windows关机效果
Mar 10 Javascript
js实现单行文本向上滚动效果实例代码
Nov 28 Javascript
使用javascript提交form表单方法汇总
Jun 25 Javascript
跟我学习javascript创建对象(类)的8种方法
Nov 20 Javascript
BootStrap实现手机端轮播图左右滑动事件
Oct 13 Javascript
js 获取今天以及过去日期
Apr 11 Javascript
微信小程序多列选择器range-key使用详解
Mar 30 Javascript
Bootstrap的aria-label和aria-labelledby属性实例详解
Nov 02 Javascript
使用VUE+iView+.Net Core上传图片的方法示例
Jan 04 Javascript
详解使用angular框架离线你的应用(pwa指南)
Jan 31 Javascript
一文读懂ES7中的javascript修饰器
May 06 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
IIS php环境配置PHP5 MySQL5 ZendOptimizer phpmyadmin安装与配置
2008/11/18 PHP
PHP下打开URL地址的几种方法小结
2010/05/16 PHP
Apache2中实现多网站域名绑定的实现方法
2011/06/01 PHP
解析php通过cookies获取远程网页的指定代码
2013/06/25 PHP
通过table标签,PHP输出EXCEL的实现方法
2013/07/24 PHP
使用Curl进行抓取远程内容时url中文编码问题示例探讨
2013/10/29 PHP
PHP Oauth授权和本地加密实现方法
2016/08/12 PHP
PHP+JavaScript实现无刷新上传图片
2017/02/21 PHP
PHP实现生成模糊图片的方法示例
2017/12/21 PHP
Jquery 基础学习笔记之文档处理
2009/05/29 Javascript
javascript中interval与setTimeOut的区别示例介绍
2014/03/14 Javascript
jquery.mobile 共同布局遇到的问题小结
2015/02/10 Javascript
Node.js与Sails redis组件的使用教程
2017/02/14 Javascript
Angularjs 事件指令详细整理
2017/07/27 Javascript
js实现简单选项卡功能
2020/03/23 Javascript
js隐式转换的知识实例讲解
2018/09/28 Javascript
详解小程序如何避免多次点击,重复触发事件
2019/04/08 Javascript
微信小游戏之使用three.js 绘制一个旋转的三角形
2019/06/10 Javascript
webpack常用配置总览(小结)
2019/11/18 Javascript
JS highcharts实现动态曲线代码示例
2020/10/16 Javascript
Python写的Discuz7.2版faq.php注入漏洞工具
2014/08/06 Python
python使用分治法实现求解最大值的方法
2015/05/12 Python
python寻找list中最大值、最小值并返回其所在位置的方法
2018/06/27 Python
Python通用函数实现数组计算的方法
2019/06/13 Python
Python Pandas 获取列匹配特定值的行的索引问题
2019/07/01 Python
Python进度条的制作代码实例
2019/08/31 Python
Python中xml和dict格式转换的示例代码
2019/11/07 Python
关于numpy数组轴的使用详解
2019/12/05 Python
如何使用python实现模拟鼠标点击
2020/01/06 Python
html5通过postMessage进行跨域通信的方法
2017/12/04 HTML / CSS
夏洛特和乔治婴儿和儿童时装精品店:Charlotte and George
2018/06/06 全球购物
斯洛伐克家具和时尚装饰品购物网站:Butlers.sk
2019/09/08 全球购物
美国在线肉类和海鲜配送:Crowd Cow
2020/10/02 全球购物
文科生自我鉴定
2014/02/15 职场文书
超市创意活动方案
2014/08/15 职场文书
SQL实现LeetCode(180.连续的数字)
2021/08/04 MySQL