如何只为特定请求显示ajax加载gif?

时间:2010-04-22 18:45:11

标签: jquery ajax request gif

如何仅针对特定请求显示ajax gif? 例如,我的页面在后台每30秒调用一次Web服务,我不想在回调期间显示gif。另一方面,我希望在制作手动ajax请求时显示gif。

我正在使用jQuery。

编辑:我没有设置全局处理程序,如此处http://api.jquery.com/ajaxStart/所示,只是附加到.ajaxStart事件。但我也不想在每个请求上手动显示/隐藏gif。我需要一些通用的解决方案。

3 个答案:

答案 0 :(得分:2)

$('#manualRefresh').click(function(){
    $('#myContainer').html('<img src="my-ajax-gif.gif">');
    $.get( ..., function(data){ ('#myContainer').html(data) });
});

喜欢那个?

答案 1 :(得分:1)

请试试这个:

$('#save').click(function(){
    $('#ShowLoading').show();
    $.ajax( ..., success:function(data){....$('#ShowLoading').hide();}, 
          error:function(){....$('#ShowLoading').hide();});
});

HTH

答案 2 :(得分:0)

我使用BlockUI plugin,让它变得非常简单。这是我为一些演示代码编写的一个简单的包装函数:

function wjBlockUI(msg) {

var defaultMsg = '<img src="../images/activity.gif" />';

if (null !== msg) {
    defaultMsg = msg
}

$.blockUI({ overlayCSS: { backgroundColor: '#aaa' }, message: defaultMsg });

}