javascript - 弹出窗口用于显示在网页上,但不再显示
问题描述
我的一个网页上确实有一个弹出窗口,当我点击一个链接时它会显示,但是,虽然不知道发生了什么变化,但当我点击链接时它似乎已经停止显示。使用 Chrome 使用“检查元素”时,正确的元素具有属性“显示:块!重要;” 所以应该显示。
这是代码片段:
function popup() {
var popup = document.getElementById("popup")
var popupLayer = document.getElementById("popup-layer")
popup.classList.toggle("show")
popupLayer.classList.toggle("show")
}
html, body {
margin: 0;
padding: 0;
box-sizing: border-box;
}
.click {
cursor: pointer;
}
.popup {
background-color: white;
height: 70%;
width: 70%;
display: none;
position: relative;
border: 1px solid;
padding: 20px;
z-index: 2;
align-self: center;
}
.popup-wrapper {
height: 100%;
width: 100%;
visibility: hidden;
display: none;
position: absolute;
display: flex;
justify-content: center;
}
.show {
display: block !important;
}
.popup-layer {
background-color: gray;
opacity: 0.3;
position: absolute;
height: 100%;
width: 100%;
margin-top: -20px;
z-index: 1;
display: none;
}
#page-1 {
background-color: #b3d9ff;
height: 100vh;
width: 100%;
}
<div id="page-1">
<div id="popup-wrapper" class="popup-wrapper">
<div id="popup" class="popup center">
<a class="click" onclick="popup()">Click me!</a>
</div>
</div>
<a class="click" onclick="popup()">Click me!</a>
<div id="popup-layer" class="popup-layer">
</div>
</div>
解决方案
这实际上是一个调试问题,应该由您完成,或者至少告诉我们您的想法。
无论如何,.popup-wrapper
我把它拿出来,height
因为我认为它已经超出了视野。
function popup() {
var popup = document.getElementById("popup");
var popupLayer = document.getElementById("popup-layer");
popup.classList.toggle("show");
popupLayer.classList.toggle("show");
}
html, body {
margin: 0;
padding: 0;
box-sizing: border-box;
}
.click {
cursor: pointer;
}
.popup {
background-color: red;
height: 70%;
width: 70%;
display: none;
position: relative;
border: 1px solid;
padding: 20px;
z-index: 2;
align-self: center;
}
.popup-wrapper {
width: 100%;
display: none;
position: absolute;
display: flex;
justify-content: center;
}
.show {
display: block !important;
}
.popup-layer {
background-color: gray;
opacity: 0.3;
position: absolute;
height: 100%;
width: 100%;
margin-top: -20px;
z-index: 1;
display: none;
}
#page-1 {
background-color: #b3d9ff;
height: 100vh;
width: 100%;
}
<div id="page-1">
<div id="popup-wrapper" class="popup-wrapper">
<div id="popup" class="popup center">
<a class="click" onclick="popup()">Click me!</a>
</div>
</div>
<a class="click" onclick="popup()">Click me!</a>
<div id="popup-layer" class="popup-layer"></div>
</div>
推荐阅读
- ansible - 复制 SSH 密钥的 Ansible 任务
- .net-core - 没有 ASP.Net 的 grpc-dotnet 服务器
- python - 对包含浮点数和字符串的列表值中的浮点数执行操作
- jenkins - 我们如何将一些数据从 Jenkins 发送回 bitbucket 服务器?
- flutter - admob_flutter Flutter 包仅在 Debug 模式下导致错误
- grpc - grpc有什么C插件吗?grpc 是否支持 protobuf-c-rpc?
- gstreamer - Ubuntu 20.04 上的 GStreamer 1.18.4 未定义符号 gst_rtcp_buffer_add_packet
- sql - 如何从 Patient_id 中找到最常见的数字
- c# - 重定向到当前页面的最佳实践
- python - pd.plot 中的 xticks 到底是什么意思?pd.plot(x,y,xticks)