首页 > 解决方案 > 更改 div 类时出现看不见的延迟。.

问题描述

我知道很多问题必须以“这很奇怪”开头,但是,嗯,这很奇怪。
我有一些代码需要一段时间才能运行。所以我在 CSS 中创建了一个“微调器”。

它是在一个函数中启动的,像这样

document.getElementById("spinner").className = "spinner";

我运行 main 函数,它的结尾是这样的:

document.getElementById("spinner").className = "spinner_hidden";

它不起作用,微调器从不显示。. . 但!如果我在第一行(显示微调器的类更改)之后添加一个“警报”,它会起作用!

作为测试,我尝试删除最后一行,然后显示微调器,(但当然不会被清除)所以我知道第一行工作正常。

我尝试添加 JS 延迟而不是警报,但没有骰子。谁能帮我解决这个奇怪的问题?非常感谢。

标签: classname

解决方案


哼哼。. . 没有反应。

这似乎是一个微不足道的问题,但我认为它很好地展示了 JS 程序流的难以理解的特性。

我已经尝试了我能想到的一切来解决这个问题。这包括强制涉及的函数“异步”(和“同步”)——插入各种各样的“等待”或“睡眠”例程——我什至尝试将类更改放入“for”循环中,以便它们具有以正确的顺序执行。

没有任何效果。

JS 坚持在到期前执行最后一行。

祝所有尝试使用 JS 按照程序员要求的顺序做事的人好运。. .


推荐阅读