我是 Javascript 的初学者。刚想学习模态对话框但遇到一些问题,代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
<html>
<head>
<title>Click here to show the overlay</title>
<style>
#overlay {
visibility: hidden;
position: fixed;
left: 0;
top: 0;
width: 100%;
height: 100%;
text-align:center;
z-index: 200;
background-image:url(maskBG.png);
}
#overlay div {
width:300px;
margin: 100px auto;
background-color: #fff;
border:1px solid #000;
padding:15px;
text-align:center;
}
</style>
<script>
function overlay(){
el = document.getElementById("overlay");
el.style.visibility = (el.style.visibility == "visible") ? "hidden" : "visible";
}
</script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="purple" alink="red">
<p align="center"><a href='#' onclick='overlay()'>Click here to show the overlay</a></p>
<p align="center">this is my text... this is my text... this is my text... this
is my text... this is my text... this is my text...this is my text... this
is my text... this is my text... this is my text...</p>
<p align="center"><b>this is my text... this is my text... this is my text... this
is my text... t</b></p>
<div id="overlay">
<div>
<p>Content you want the user to see goes here.</p>
</div>
</div>
</body>
</html>
这是一个非常简单的代码。我的问题是为什么在第二层弹出后第一层不可点击?我会认为因为第二层停留在第一层之上并且阻挡了第一层。但是为什么我可以点击“链接”来触发函数overlay()呢?第二层的可见性是隐藏的,但它仍然停留在第一层的顶部,对吗?该函数甚至没有改变 z-index。我想不通,为什么。
另一个问题是,现在我怎样才能解除第二层并回到第一层?一些简单的代码表示赞赏。
感谢您的帮助!