当前位置:  开发笔记 > 编程语言 > 正文

在忙碌的javascript代码中页面不会更新

如何解决《在忙碌的javascript代码中页面不会更新》经验,为你挑选了1个好方法。

我有一个很长的JavaScript脚本.问题是,在它的中间我想改变div的innerHtml说"几乎完成请等待".我认为问题是我调用了一个jquery函数.在函数的成功回调中我调用另一个函数,这是我尝试更新页面的地方.

如果我使用firebug设置断点并单步执行代码,页面会更新,我会看到div的消息.但是,如果我只是让代码运行,我看不到消息.如果我在更新div之前和之后设置了一个警告框,我也会看到它.

以前有人见过这样的东西吗?

谢谢!



1> Loktar..:

通常在运行JS代码时,所有其他渲染都会停止,就像您所看到的那样.您可以尝试使用setTimeout函数来允许在页面上进行渲染,如下所示:

doStuff();
$('#myDiv').html('Almost done, please wait');
setTimeout(doMoreStuff, 50);

请注意,doMoreStuff是另一个将执行处理的最后部分的函数.

如果您的代码可以通过这种方式拆分,它将允许浏览器进入一些渲染周期.您可能想要尝试延迟(上面的50)来找到适合您的数字,但是如果你想要做的就是设置div的内容,那么50应该没问题(可能甚至0都可以).

另外,我不记得用于设置innerHTML的jQuery语法,但我认为这个点得到了:)

推荐阅读
乐韵答题
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有