更改 div 类时出现看不见的延迟。 .

Posted

技术标签:

【中文标题】更改 div 类时出现看不见的延迟。 .【英文标题】:Unseen delays in changing div class . . 【发布时间】:2021-08-26 10:08:02 【问题描述】:

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

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

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

我运行主函数,结束如下:

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

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

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

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

【问题讨论】:

【参考方案1】:

哼哼。 . .没有回应。

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

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

没有任何作用。

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

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

【讨论】:

以上是关于更改 div 类时出现看不见的延迟。 .的主要内容,如果未能解决你的问题,请参考以下文章

更改类时如何添加淡入淡出效果? [复制]

当父有“选中”类时,如何更改图像src?

克隆 div 并删除类而不更改原始类

添加类时div重叠

当 div 没有使用 css 的某些类时,如何在 div 中添加元素的样式? [复制]

在 WP8 上更改按钮边框颜色时出现延迟