我有一个网页应用程序中的一个地方,我正在使用 在浏览器中 的 JavaScript 进行大量计算。这些计算可能需要少于一秒钟到大约一分钟的时间才能运行,并且我希望在此步骤中显示进度对话框,但是对话框要等到计算完成后才会显示。起初,我只是尝试显示一个 jQuery 对话框:
HTML:
<input type="button" id="startwork" value="Start working">
<div id="dialog" title="My dialog">
This should show up immediately on clicking the button.
</div>
脚本:
$(function() {
$("#startwork").click(function () {
$("#dialog").dialog("open");
// Do some lengthy calculations
for (var i=0; i<1000000000; i++) {
var foo = Math.random();
}
$("#dialog").dialog("close");
alert("done");
});
$("#dialog").dialog({ autoOpen: false });
});
我应该怎么做才能在计算开始前和定义好的间隔期间强制更新UI呢?