使用jquery ajax时显示“加载”的最简单方法?
我想知道向特定的jquery ajax请求显示“加载”gif的最简单方法。
我试过了:
$(document).ajaxStart(function() { $('.hideOnLoad').hide(); }); $(document).ajaxStop(function() { $('.hideOnLoad').show(); });
但是所有ajax请求都会触发它。 我只想要一个特定的jquery ajax请求来触发加载过程(可能会显示一个gif)。
我怎么做?
在beforeSend
回调中,你必须显示微调器, complete
你必须隐藏它。 仅供参考: ajaxStart
和ajaxStop
是全局ajax事件,而beforeSend
和complete
是本地事件。
我经常这样做
$('#someTrigger').click( function(el) { // do my ajax request with callback, onComplete $('.someImageClass').show(); }); function onComplete(resp, respText, XMLHttpRequset) { // do stuff $('.someImageClass').hide(); }
只需在开始ajax调用之前显示图像,然后在ajax“success”或“complete”处理程序中隐藏它。
将容器的内容设置为gif图像。 然后进行Ajax调用。 Ajax回调函数将删除gif图像。
我倾向于做一些事情:
$('#some-div').addClass('loading');
当我开始和
$('#some-div').removeClass('loading');
当我完成的时候 然后我有
#some-div { background: transparent url('ajazz-loader.gif') no-repeat center center; }
在我的CSS。 干净整洁。