首页 > 其他分享 >纯JS实现的Popup框

纯JS实现的Popup框

时间:2023-05-09 13:22:29浏览次数:41  
标签:style Popup const overlay 实现 JS popup display

以下是一个纯JS实现的Popup框:

HTML代码:

```html
<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>Popup框</title>
  <style>
    #overlay {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(0,0,0,0.5);
      display: none;
    }
    #popup {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 400px;
      height: 300px;
      background-color: white;
      padding: 20px;
      display: none;
    }
  </style>
</head>
<body>
  <button id="open-btn">打开Popup框</button>
  <div id="overlay"></div>
  <div id="popup">
    <h2>Popup框标题</h2>
    <p>Popup框内容</p>
    <button id="close-btn">关闭</button>
  </div>

  <script src="popup.js"></script>
</body>
</html>
```

JavaScript代码(popup.js):

```js
// 获取DOM元素
const overlay = document.getElementById('overlay');
const popup = document.getElementById('popup');
const openBtn = document.getElementById('open-btn');
const closeBtn = document.getElementById('close-btn');

// 打开Popup框
openBtn.addEventListener('click', function() {
  overlay.style.display = 'block';
  popup.style.display = 'block';
});

// 关闭Popup框
closeBtn.addEventListener('click', function() {
  overlay.style.display = 'none';
  popup.style.display = 'none';
});
```

该Popup框使用了一个遮罩层(`overlay`)和一个弹出层(`popup`),并通过JavaScript控制它们的显示和隐藏。点击“打开Popup框”按钮时,遮罩层和弹出层都会显示出来;点击弹出层的“关闭”按钮时,遮罩层和弹出层都会隐藏起来。可以根据实际需要调整Popup框的样式和内容。

标签:style,Popup,const,overlay,实现,JS,popup,display
From: https://www.cnblogs.com/gaosj20210301/p/17384583.html

相关文章

  • 什么是jsonp
    jsonp是前端一种用来解决网站跨域的技术,利用script标签不受同源策略影响的特性引入一个非同源的js文件,并定义一个回调函数来接收数据,这样就可以实现跨域获取数据了,例如:现在有一个链接返回的数据是这样的:cb({"name":"swk","age":18})这是一个标准的jsonp格......
  • C/C++常用接口实现【持续更新】
    目录判断大小端判断大小端一般方法boolIsSmallEndian(){intnum=1;char*p=(char*)&num;if(*p==1){printf("小端\n");returntrue;}returnfalse;}unionboolIsSmallEndian(){unionUn{char......
  • ASEMI代理ADV7125JSTZ330原装ADI车规级ADV7125JSTZ330
    编辑:llASEMI代理ADV7125JSTZ330原装ADI车规级ADV7125JSTZ330型号:ADV7125JSTZ330品牌:ADI/亚德诺封装:LQFP-48批号:2023+引脚数量:48工作温度:-40°C~85°C安装类型:表面贴装型ADV7125JSTZ330汽车芯片ADV7125JSTZ330特性RS-343A-/RS-170兼容输出互补输出DAC输出电流范围:2.0......
  • Node.js--安装
    下载:https://nodejs.org/en 下载下来后,进行安装,完成后查看文件夹  在安装目录下新建模块目录node_global跟cache目录cache 再执行以下命令npmconfigsetprefix"C:\ProgramFiles\nodejs\node_global"npmconfigsetcache"C:\ProgramFiles\nodejs\node_ca......
  • 【HarmonyOS】轻量级智能穿戴应用如何在页面中实现数据传递与全局变量的使用
    【关键词】轻量级智能穿戴、LiteWearable、数据传递、全局变量 【问题描述】开发轻量级智能穿戴LiteWearable应用,在app.js中定义全局变量,在页面中通过this.$app.$def.xxx获取时,报错TypeError:Cannotreadproperty'$def'ofundefined 【问题分析】经确认,LiteWearable......
  • js实现产品页点击小图在大图区显示
    企业网站产品图片可能会比较多,需要在产品页面多放几张展示图片,我们可以使用一张大图+几张小图的形式排列,并使用js代码实现点击小图显示大图。效果如下所示html代码部分:<divclass="img_bd">   <imgsrc="/e/picture/180613/1-1P6130ZH6.jpg"alt=''class="img-responsivece......
  • arduino 之 json 再测试(key是否存在)
    1.使用containsKey():Stringdo_back(Stringjson){StaticJsonDocument<200>sjdoc;deserializeJson(sjdoc,json);Stringval=sjdoc["hlf"].as<String>();Serial.print("val:");Serial.println(val);Serial.print("sjdoc.contai......
  • 《nodejs跨栏》命令篇
    npm查看一个包的版本参考链接:https://segmentfault.com/a/1190000022694959注意:CMD命令要以管理员模式启动。#查看npm服务器上所有的jquery版本:dubai@DESKTOP-UFFVH6LMINGW64/$npmviewjqueryversions#查看npm服务器上jquery最新版本:dubai@DESKTOP-UFFVH6LMINGW6......
  • 第3关 动手实现逻辑回归 - 癌细胞精准识别
    #-*-coding:utf-8-*-importnumpyasnpimportwarningswarnings.filterwarnings("ignore")defsigmoid(x):'''sigmoid函数:paramx:转换前的输入:return:转换后的概率'''return1/(1+np.exp(-x))def......
  • xlsx.js导出表格
    说明vue2前端导出表格需用用到xlsx.js这个库npminstallxlsx实现操作合并单元格把数组导出成excel代码部分wch和import*asXLSXfrom"xlsx";//记得在要用的页面导入/*导出表格*/exportExcel_(){ /*定义表格的数据第一行是表头*/ vardata=[ ["名称",......