JavaScript 实现固定定位弹窗的完整示例
作者:交互手记时间:2026-10-23 20:48:43浏览:357
本文介绍如何使用 JavaScript 结合 CSS 固定定位实现一个可关闭的弹窗效果。核心思路包括创建触发按钮、设置弹窗为固定定位并默认隐藏、利用 CSS 居中布局内容,以及通过 JS 绑定点击事件控制弹窗的显示与隐藏。示例包含完整的 HTML 结构、CSS 样式及 JS 交互逻辑,支持点击关闭按钮或遮罩层关闭弹窗,并带有简单的入场动画。
JavaScript 弹窗实现概述
本文分享了一段使用 JavaScript 实现弹窗功能的具体代码,供读者参考学习。
实现思路与步骤
实现该功能的基本思路如下:
1. 创建一个触发按钮,用于点击弹出弹窗。 2. 构建一个弹窗页面,采用固定定位(fixed positioning),并默认设置为隐藏状态。 3. 将弹窗的具体内容在弹窗页面内进行居中布局。 4. 使用 JavaScript 将事件绑定到触发按钮上,点击后使弹窗页面显示。 5. 将事件绑定到关闭按钮(span 标签)上,点击后使弹窗页面隐藏。
代码实现详解
具体实现代码如下:
HTML 结构
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>弹窗</title>
<link href="../css/弹窗.css" type="text/css" rel="stylesheet">
</head>
<body>
<!--打开弹窗按钮-->
<button id="btn">打开弹窗</button>
<!--弹窗-->
<div id="myModal">
<!--弹窗头部-->
<div class="modal">
<div class="modal-header">
<p>危险警告</p>
<span class="close">×</span>
</div>
<!--弹窗文本-->
<div class="modal-content">
<p>您将进入一个不安全的页面</p>
</div>
<!--弹窗底部-->
<div class="modal-footer">
</div>
</div>
<script src="../js/弹窗.js">
</script>
</body>
</html>
CSS 样式部分:
CSS 样式与布局
#myModal{
display: none;
position: fixed;
z-index:1;
left:0;
top:0;
width: 100%;
height:100%;
overflow: auto;
background:rgba(0,0,0,0.5);
}
#myModal .modal{
width: 500px;
height:300px;
position: relative;
top:50%;
left:50%;
margin-top: -150px;
margin-left: -250px;
animation:animate 1s;
}
.modal .modal-header{
height:50px;
background:white;
color: #000;
line-height:50px;
border-bottom: 1px solid #000000;
}
.modal .modal-header p{
display: inline-block;
margin:0;
position: absolute;
left: 20px;
}
.modal .modal-header .close{
position: absolute;
right:20px;
font-size: 20px;
cursor:pointer;
}
.modal .modal-content{
background: white;
height:200px;
text-align: center;
line-height: 200px;
}
.modal .modal-content p{
margin:0;
}
.modal .modal-footer{
position: relative;
height:50px;
background: white;
}
/*添加动画*/
@keyframes animate{
from{top:0;opacity:0}
to{top:50%;opacity:1}
}
JavaScript 逻辑部分:
JavaScript 交互逻辑
window.onload=function () {
//获取弹窗按钮
var btn=document.getElementById("btn");
var close=document.getElementsByClassName("close")[0];
var myModal=document.getElementById("myModal");
//按钮绑定事件
btn.onclick=function () {
//获取弹窗
myModal.style.display="block";
}
close.onclick=function () {
myModal.style.display="none";
}
//用户点击其他地方关闭弹窗
window.onclick=function (event) {
if(event.target ==myModal){
myModal.style.display="none";
}
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。
作者最新文章
JS怎么实现页面强制刷新
2026-11-05 14:53:38
点击JS链接直接运行不下载?前端实现.js文件强制下载的三种方法
2026-11-05 12:12:23
怎么封装一个通用的JS创建元素辅助函数
2026-11-05 11:41:41
Swiper.js 怎么监听滑动结束并获取当前索引
2026-11-05 10:57:15
HTML、CSS和JS的关系:Web前端三件套怎么协作
2026-11-04 15:41:40
