首页 > 解决方案 > Javascript 显示

alert() 之前和之后的样式

问题描述

我试图在我的网页上显示一个 div,显示一个警报,然后在警报后隐藏它。我不确定这是否是 Chrome 渲染问题,但我无法让这两种不同的样式分别显示。它们似乎同时执行并且有效地在屏幕上显示任何内容。我一直在浏览网站一段时间,似乎找不到任何帮助。这是我在我的 javascript 文件中的位置:

var hide = document.getElementById("overlay").style.display = 'block';
alert("hello");
hide = document.getElementById("overlay").style.display = 'none';

“覆盖”永远不会显示为“块”......但是,如果您将显示注释为“无”,则会弹出警报,然后显示为“块”元素(这导致我早先的结论Chrome 渲染问题)。

任何帮助表示赞赏。欢迎使用不同的方法来解决此问题以实现相同的结果(特别是在 Chrome 中)。提前致谢。

标签: javascripthtmlcss

解决方案


这很棘手......但是一个解决方案。

var hide = document.getElementById("overlay").style.display = 'block';

setTimeout(function(){
  alert("hello");
  hide = document.getElementById("overlay").style.display = 'none';
},10)
<span id="overlay" style="display:none;">this is what to show hide</span>


推荐阅读