我想扩展ajax函数,以便无论何时调用它,页面上都会出现一个图像,指示内容已加载。
我可以使用本页http://api.jquery.com/extending-ajax/中讨论的预过滤器来显示图像,但是一旦请求完成,我该如何隐藏图像呢?
答案 0 :(得分:4)
请在这里查看:Global Ajax Event Handlers
无论何时通过jQuery发送ajax请求,这都会使得实现加载映像变得微不足道。不需要扩展。
答案 1 :(得分:3)
答案 2 :(得分:3)
您可以使用ajaxStart
$("#loading").ajaxStart(function(){
//show loading imag here
});
并在成功时移除图像
答案 3 :(得分:2)
以下代码适合您:
$("#loading").ajaxStart(function () { $(this).show(); }) .ajaxStop(function () { $(this).hide(); });
答案 4 :(得分:0)
/ *显示每次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很常见。