我有一个昂贵的函数createNewWindow()。我想在调用方法时显示进度指示器,然后在函数结束时隐藏该指示器。我尝试过的所有事情,除非方法已经完成,否则我没有看到进度指示器,所以我试图以同步方式调用该方法(和失败)。异步调用函数?
我尝试这样做:
而且createNewWindow的最后一行是$( “#进步”)显示()。没有工作。在此之前,我尝试过:
$("#submit").click(function() {
$("#progress").show();
setTimeout(createNewWindow(), 0);
});
同样的效果。
什么是正确的方法来做到这一点?
我看到一些其他的SO帖子,如this描述使用setInterval或setTimeout,但我无法让他们像我期待的那样工作。
以异步方式调用同步函数并不是如此。它仍然会阻止浏览器,你最好的选择是旋转的东西。 – adeneo 2013-04-05 23:16:05