使用show()/ hide()来设置busyloading spinner。
这不起作用:
<div id="spinner" class="spinner" style="display:none;">
<img src="busyloading.gif">
</div>
$('#spinner').show();
//some busy task here
for (i=0;i<=10000;i++){
i++;
}
$('#spinner').hide();
最后我使用了jQuery.ajaxSetup, 但是我仍然想弄清楚为什么它不适用于常规的show / hide:
jQuery.ajaxSetup({
beforeSend: function() {
$('#spinner').show()
},
complete: function(){
$('#spinner').hide()
},
});
其他信息: 看起来Chrome和firefox有区别: 至少在FireFox中如果我在循环之前添加一个alert() - 微调器出现了。 在Chrome中 - 即使我添加alert() - 也没有微调器。
答案 0 :(得分:1)
如果ajax正在调用“繁忙任务”,则代码将继续执行,因为ajax是异步的。这就是为什么在ajax调用完成时你必须使用回调函数来执行代码。