网站 JS 对 X 按钮没有反应(关闭)
Website JS not reacting to X button (Closed)
我正在制作一个网站,我想要一个弹出的 window,当我点击 X 时,它通过将 css 设为 display: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 岁,很抱歉语法错误)
加载页面时您只有 运行 秒的代码。那时,你的 DOM 元素存在,但 click()
将始终 return false,代码将永远不会被再次计算。
您需要的是 onClick
事件处理程序。事件处理程序 运行 事件发生时 ,而不是代码首次加载时。
我正在制作一个网站,我想要一个弹出的 window,当我点击 X 时,它通过将 css 设为 display: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 岁,很抱歉语法错误)
加载页面时您只有 运行 秒的代码。那时,你的 DOM 元素存在,但 click()
将始终 return false,代码将永远不会被再次计算。
您需要的是 onClick
事件处理程序。事件处理程序 运行 事件发生时 ,而不是代码首次加载时。