У меня есть одно место в веб-приложении, где я делаю много вычислений в 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 });
});
Что я могу сделать, чтобы пользовательский интерфейс обновлялся до начала вычислений и через определенные промежутки времени во время вычислений?