javascript - Javascript 显示alert() 之前和之后的样式
问题描述
我试图在我的网页上显示一个 div,显示一个警报,然后在警报后隐藏它。我不确定这是否是 Chrome 渲染问题,但我无法让这两种不同的样式分别显示。它们似乎同时执行并且有效地在屏幕上显示任何内容。我一直在浏览网站一段时间,似乎找不到任何帮助。这是我在我的 javascript 文件中的位置:
var hide = document.getElementById("overlay").style.display = 'block';
alert("hello");
hide = document.getElementById("overlay").style.display = 'none';
“覆盖”永远不会显示为“块”......但是,如果您将显示注释为“无”,则会弹出警报,然后显示为“块”元素(这导致我早先的结论Chrome 渲染问题)。
任何帮助表示赞赏。欢迎使用不同的方法来解决此问题以实现相同的结果(特别是在 Chrome 中)。提前致谢。
解决方案
这很棘手......但是一个解决方案。
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>
推荐阅读
- time-complexity - 嵌套循环的大 O (int j = 0; j < i * i; ++j)
- azure - Azure 服务总线队列 - 由于对象的当前状态,操作无效
- angular - 如何在 Angular 6 中显示任何日期格式?
- angularjs - 等待Angular js中另一个组件的响应
- java - 合并两个带有和不带音频的剪辑会导致音频在生成的视频中从头开始
- python - 如何解决 TypeError: '<' 在 list.sort() 函数中的 'list' 和 'int' 实例之间不支持?
- laravel-5 - Laravel 仅检索选定 id 的数据
- exist-db - Exist-db 并行请求(批量请求)在现有数据库 restxq(发布、放置)上失败
- angular - 如何从子组件角度 7 将两个参数传递给父组件函数?
- sql-server - 根据 where 子句值显示上一条和下一条记录