首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >removeClass未显示

removeClass未显示
EN

Stack Overflow用户
提问于 2014-02-14 18:30:43
回答 1查看 101关注 0票数 1

我有一个转换函数,它有一个覆盖屏幕,上面写着“加载”。

代码语言:javascript
运行
复制
SM.prototype.changeScene = function(sceneName){
    $("#Loading").removeClass("hide");
    $("#loading_curtain").removeClass("offscreen");
    $("#acrcurtain").removeClass("offscreen");
    $(".loading_text").removeClass("offscreen");

    var changeMe = function(){
         //lots of loading code (2-5 seconds)
    };

    window.setTimeout(changeMe, 100);
}

这在setTimeout设置为至少100的情况下工作得很好。如果它被移除或更少,加载屏幕就不会显示。类被正确地移除,但它没有显示在屏幕上。有什么原因可以帮助它出现吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-14 18:35:21

在浏览器中运行的JavaScript不会在更改元素时立即在屏幕上重新绘制元素。它通常要等到没有更多的JavaScript代码运行。

这就是为什么超时允许它重新绘制,以及为什么没有它它不会立即重绘。

在超时之后,正在执行的JavaScript的当前位结束,然后浏览器有机会在“大量加载代码”运行之前重新绘制。

在没有超时的情况下,JavaScript代码仍在积极运行,因此浏览器等待直到完成。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21786894

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档