我有一个 JavaScript 函数,它在调用时显示或隐藏弹出窗口,具体取决于窗口的可见性。此功能的先前版本运行良好。也就是说,关闭按钮导致窗口按原样消失。但是,由于在函数中添加了一些代码,关闭按钮不再起作用。下面是该函数的先前版本和当前版本、它操作的“覆盖”div 以及该 div 的 CSS。任何帮助将不胜感激。我无法弄清楚我的哪些更改导致了问题,也不知道如何解决它。
以前的(工作)功能:
<script>
function overlay(descrip, name) {
var descripBox = "<div><h3>"+name+"</h3><p>"+ descrip +"</p></br><input type='button' onclick='overlay()' value='Close'></input></div>";
var el = document.getElementById("overlay");
el.innerHTML = descripBox;
el.style.visibility = (el.style.visibility == "visible") ? "hidden" : "visible";
}
</script>
当前(不工作)功能:
<script>
function overlay(descrip, name, req) {
if(req != ''){
var obj = new Array();
obj = req.split("|");
var reqHtml = "Requirements:</br><ul>";
for(var i = 0; i < obj.length; i++)
{
reqHtml += "<li>"+obj[i]+"</li>";
}
reqHtml+= "</ul></br>";
}
else
var reqHtml = '';
var descripBox = "<div><h3>"+name+"</h3><p>"+ descrip +"</p></br>"+
reqHtml +"<center><input type='button' onclick='overlay()' value='Close'></input></center></div>";
var el = document.getElementById("overlay");
el.innerHTML = descripBox;
el.style.visibility = (el.style.visibility == "visible") ? "hidden" : "visible";
}
</script>
覆盖 div:
<div id="overlay">
<div>
</br>
<input type="button" onclick="overlay()" value="Close"></input>
</div>
</div>
CSS:
#overlay {
visibility: hidden;
position: absolute;
left: 0px;
top: 500px;
width:100%;
height:100%;
z-index: 1000;
}
#overlay div {
width:300px;
margin: 100px auto;
background-color: #ebebeb;
border:2px solid #c7c7c7;
padding:15px;
}