classname - 更改 div 类时出现看不见的延迟。.
问题描述
我知道很多问题必须以“这很奇怪”开头,但是,嗯,这很奇怪。
我有一些代码需要一段时间才能运行。所以我在 CSS 中创建了一个“微调器”。
它是在一个函数中启动的,像这样
document.getElementById("spinner").className = "spinner";
我运行 main 函数,它的结尾是这样的:
document.getElementById("spinner").className = "spinner_hidden";
它不起作用,微调器从不显示。. . 但!如果我在第一行(显示微调器的类更改)之后添加一个“警报”,它会起作用!
作为测试,我尝试删除最后一行,然后显示微调器,(但当然不会被清除)所以我知道第一行工作正常。
我尝试添加 JS 延迟而不是警报,但没有骰子。谁能帮我解决这个奇怪的问题?非常感谢。
解决方案
哼哼。. . 没有反应。
这似乎是一个微不足道的问题,但我认为它很好地展示了 JS 程序流的难以理解的特性。
我已经尝试了我能想到的一切来解决这个问题。这包括强制涉及的函数“异步”(和“同步”)——插入各种各样的“等待”或“睡眠”例程——我什至尝试将类更改放入“for”循环中,以便它们具有以正确的顺序执行。
没有任何效果。
JS 坚持在到期前执行最后一行。
祝所有尝试使用 JS 按照程序员要求的顺序做事的人好运。. .
推荐阅读
- flutter - 如何在flutter_platform_widgets中使用抽屉:^0.72.0
- java - Java - 取两个字符串并组合成一个日期对象
- python - 如何在 OpenCV 中逼近具有固定角度多边形的形状?
- java - 为什么我的图形点不显示?(Java 绘图问题)
- hyperledger-fabric - 无法运行对等
- python - Python不断损坏并需要重新安装
- node.js - 如何用 babel 和 node 14 构建?
- c# - 在 IMemoryCache 上调用扩展方法 GetOrCreateAsync 时是否可以避免缓存?
- css - 如何创建直线边框
- docker - 如何在 docker 容器内从主机中查找卷文件?