以下是我的弹出式HTML:
<div id="overlay">
<div>
<header>
<h2 class="modalHeader">Disclaimer:</h2>
</header>
<p>"xxxxxxxx"</p>
<button id="acceptButton" onclick="overlay()">Accept</button>
</div>
</div>
以下是我关注的弹出窗口的CSS:
#overlay {
visibility: hidden;
/*position: absolute;*/
left: 0px;
top: 0px;
width: 100%;
height: 100%;
text-align: justify;
z-index: 1000;
font-family: candara;
}
以下是我的JavaScript,使弹出窗口出现在pageload:
function popup{
var overlay = document.getElementById("overlay");
overlay.style.visibility = "visible";
}
我正在尝试将css visibility: hidden
更改为visibility: visible
....为什么这不起作用?
答案 0 :(得分:2)
解 1:我在我的演示中将p元素作为p1给了p1,最初使用visibility:hidden隐藏了它; 2:点击按钮调用适当的功能,使段落可见。
DEMO:http://jsfiddle.net/5aww1sef/2/
<script>
function overlay() {
var overlay = document.getElementById("p1");
overlay.style.visibility = "visible";
}
</script>
<div id="overlay">
<div>
<header>
<h2 class="modalHeader">Disclaimer:</h2>
</header>
<p id="p1">"xxxxxxxx"</p>
<button id="acceptButton" onclick="overlay()">Accept</button>
</div>
</div>
#overlay {
left: 0px;
top: 0px;
width: 100%;
height: 100%;
text-align: justify;
z-index: 1000;
font-family: candara;
}
#p1{
visibility: hidden;
}
答案 1 :(得分:1)
这里缺少语法 - 带括号 - 您还需要调用popup()作为单击或在需要时调用的函数。我假设叠加层内的按钮是做另一个功能,比如关闭右边的叠加?
function popup() {
var overlay = document.getElementById("overlay");
overlay.style.visibility = "visible";
}
答案 2 :(得分:1)
更好地使用display:none;
作为visibility:hidden;
占用页面空间。使用display属性创建不占用空间的不可见元素
<强>演示强>
https://jsfiddle.net/5sep0y5f/
<强>代码强>
document.getElementById('overlay').style.display = 'block'; // show
document.getElementById('overlay').style.display = 'none'; // hide