扩展jQuery的ajaxfunction
我想扩展ajax函数,以便无论何时调用它,页面上都会出现一个图像,表明存在内容加载。
我可以使用本页http://api.jquery.com/extending-ajax/中讨论的预filter来显示图像,但是一旦请求完成,我怎么能隐藏图像?
请看这里: 全局Ajax事件处理程序
无论何时通过jQuery发送ajax请求,这都会使得实现加载映像变得微不足道。 不需要扩展。
看看全局Ajax事件处理程序
使用ajaxStart
和ajaxStop
您可以控制加载图像在启动ajax请求时显示,并在所有请求完成后隐藏它( 或者使用ajaxSuccess
的单个ajaxSuccess
)
你可以使用ajaxStart
$("#loading").ajaxStart(function(){ //show loading imag here });
并在成功时删除图像
以下代码适用于您:
$("#loading").ajaxStart(function () { $(this).show(); }) .ajaxStop(function () { $(this).hide(); });
/ *显示每次ajax调用时加载数据的消息* /
var loadingMessage = 'Please wait loading data for ' + defaultUserName; $(document).ready(function() { $("#Loadstatus").bind("ajaxSend", function() { $(this).text(loadingMessage); $(this).show(); }).bind("ajaxComplete", function() { $(this).hide(); }); });
并且,如果你想用你的CSS在元素上放置背景图像,你可以 – 动画gif是常见的。