我有一个“错误”元素,默认情况下会隐藏在页面上。我有一个叠加弹出窗口显示在页面加载(这是正常工作),我有一个'dismiss'按钮在这个叠加层内隐藏覆盖(再次,这是工作)。但是,我还希望它在单击覆盖图内的关闭按钮时将页面上“error”元素的display属性从none更改为block。
页面上的“错误”元素......
<div id="error_dismissed" style="display:none;">you dismissed it man!!!!!!</div>
关闭按钮(显示在叠加弹出窗口上)...
<img onclick="var bi=document.getElementById('main'); if (bi) set_opacity(bi,1.0); document.getElementById('overlay').style.display='none'; document.getElementById('error_dismissed').style.display='block';" src="dismiss.png" />
答案 0 :(得分:1)
将所有JavaScript放在HTML属性中会使读取和调试变得非常困难。您的代码适用于将属性更改为block
的部分,因此很可能在脚本之前存在错误,导致其无法到达该行。将脚本移动到一个函数,以便您可以调试它。
以下是您的代码工作的演示。除了添加代码中引用的<div id="overlay"></div>
之外,我没有做任何改变:
<div id="error_dismissed" style="display:none;">you dismissed it man!!!!!!</div>
<img onclick="var bi=document.getElementById('main'); if (bi) set_opacity(bi,1.0); document.getElementById('overlay').style.display='none'; document.getElementById('error_dismissed').style.display='block';" src="dismiss.png" />
<div id="overlay"></div>
&#13;