show()/ hide()用于设置繁忙的加载微调器

时间:2012-02-25 17:41:02

标签: jquery

使用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() - 也没有微调器。

1 个答案:

答案 0 :(得分:1)

如果ajax正在调用“繁忙任务”,则代码将继续执行,因为ajax是异步的。这就是为什么在ajax调用完成时你必须使用回调函数来执行代码。