生成新屏幕时无法显示加载消息

时间:2015-12-11 05:52:54

标签: javascript jquery underscore.js

所以我有一个网页,其中,为了点击一个按钮,我做了一个冗长的计算(在客户端JS),并在一个新的层中显示结果。我希望它能在计算运行时显示loading ...消息。所以我做了以下事情:

$('#loader').html("<div class='loader-info'>Loading...</div>");
_.defer(doComputation);

doComputation是一个执行冗长计算的函数。我也试过setTimeout(doComputation,0);而不是下划线延迟。在这两种情况下,有时会显示加载层,在大多数情况下它不是!我不确定JS引擎如何决定这一点。

我正在寻找一个稳定的解决方案,每次按下calc按钮时都会显示loading ...消息。计算需要几分钟,因此有必要向用户显示此消息。

我怎样才能做到这一点?任何指针都非常感谢。

1 个答案:

答案 0 :(得分:-2)

<div class='loader-info'>Loading...</div>

$(window).load(function() {
 // executes when complete page is fully loaded, including all frames, objects and images
 $("#loader-info").hide();
});