我正在建立一个网站,我想要一个弹出的窗口,当我点击它关闭时,通过使其css显示为:none; 这是我的HTML:
<div id="PortOverlay"></div>
<div id="PortContainer">
<div id="poCross">X</div>
</div>
这是我的CSS:
#PortOverlay {width:100%;height:100%;top:0px;left:0px;position:fixed;z-index:10;background-color:#222;opacity:0.4;display:block;}
#PortContainer {width:800px;height:auto;min-height:800px;position:fixed;margin:18px auto;background:#FFF;border-radius:10px;box-shadow:0px 0px 1px 1px #888;}
#PortContainer > div#poCross {width:auto;height:auto;font-family:arial;font-weight:bolder;font-family:16px;margin:15px;}
#PortContainer > div#poContent {}
这是我的JS:
var poCross, PortContainer, PortOverlay;
function poClose(){
poCross = document.getElementById('poCross');
PortContainer = document.getElementById('PortContainer');
PortOverlay = document.getElementById('PortOverlay');
if (poCross.click()) {
PortContainer.style.display = "none";
PortOverlay.style.display = "none";
alert('test'); // Alert included for testing //
}
}
我甚至包含一个警报来测试它是否只是一个CSS问题,但这也没有反应。 谢谢您的帮助。 (我是荷兰语,15很抱歉错误的语法orso)
答案 0 :(得分:1)
您只在加载页面时运行的代码。那时,您的DOM元素存在,但click()
将始终返回false,并且永远不会再次评估代码。
你想要的是一个onClick
事件处理程序。事件处理程序在事件发生时运行 ,而不是第一次加载代码时。