我想知道向特定jquery ajax请求显示“加载”gif的最简单方法。
我试过了:
$(document).ajaxStart(function() {
$('.hideOnLoad').hide();
});
$(document).ajaxStop(function() {
$('.hideOnLoad').show();
});
然后所有ajax请求都会触发它。我只想要一个特定的jquery ajax请求来触发加载过程(可能会显示一个gif)。
我该怎么做?
答案 0 :(得分:7)
在beforeSend
回调中,您必须显示微调器,而在complete
中您必须隐藏它。仅供参考:ajaxStart
和ajaxStop
是全球ajax事件,而beforeSend
和complete
是本地事件。
答案 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中。很干净。