使用jquery ajax时显示“加载”的最简单方法?

时间:2010-02-12 21:52:45

标签: jquery ajax

我想知道向特定jquery ajax请求显示“加载”gif的最简单方法。

我试过了:

$(document).ajaxStart(function() {
    $('.hideOnLoad').hide();
});
$(document).ajaxStop(function() {
    $('.hideOnLoad').show();
});

然后所有ajax请求都会触发它。我只想要一个特定的jquery ajax请求来触发加载过程(可能会显示一个gif)。

我该怎么做?

5 个答案:

答案 0 :(得分:7)

beforeSend回调中,您必须显示微调器,而在complete中您必须隐藏它。仅供参考:ajaxStartajaxStop是全球ajax事件,而beforeSendcomplete是本地事件。

答案 1 :(得分:1)

我经常做类似

的事情
$('#someTrigger').click( function(el) {
    // do my ajax request with callback, onComplete
    $('.someImageClass').show();
});

function onComplete(resp, respText, XMLHttpRequset) {
    // do stuff
    $('.someImageClass').hide();
}

答案 2 :(得分:1)

只需在开始ajax调用之前显示图像,然后在ajax“success”或“complete”处理程序中隐藏它。

答案 3 :(得分:0)

将容器的内容设置为gif图像。然后进行Ajax调用。 gif图像将被Ajax回调函数删除。

答案 4 :(得分:0)

我倾向于做一些事情:

$('#some-div').addClass('loading');

当我开始时

$('#some-div').removeClass('loading');

当我完成时然后我有

#some-div { 
    background: transparent url('ajazz-loader.gif') no-repeat center center; 
}

在我的CSS中。很干净。