我的页面中有大约 9000 个元素,必须经常重建,这可能需要几秒钟的时间。
所以,我制作了一个小的覆盖小部件,用一个覆盖元素Loading..
。信息。在我重建元素之前,我调用showOverlay()
,在循环之后我调用hideOverlay()
.
但是循环锁定了我之前的页面Loading...
显示消息,因此它永远不会出现。
function rebuild() {
showOverlay(); // The overlay never appears...
for (var i=0;i<9000;i++) {
// append element...
}
hideOverlay();
}
在开始循环之前如何等待叠加层渲染?
function do_rebuild() {
for (var i=0;i<9000;i++) {
// append element...
}
hideOverlay();
}
function rebuild() {
showOverlay(); // The overlay will appear
window.setTimeout('do_rebuild();',1);
}
这是我所知道的唯一跨浏览器的方式。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)