如何在jQuery中显示加载微调器?

在原型中,我可以用以下代码显示“正在加载…”图像:

var myAjax=new Ajax.Request(url,{method:'get',参数:pars,
onload:showLoad,onComplete:showResponse});
函数showLoad(){
...
}

在jQuery中,我可以使用以下命令将服务器页面加载到元素中:

$('#message').load('index.php?pg=ajaxFlashcard');

但如何像在原型中那样将加载微调器附加到该命令

有两种方法。我的首选方法是将函数附加到元素本身上的ajaxStart/Stop事件

$('loadingDiv')
.hide()//最初隐藏它
.ajaxStart(函数(){
$(this.show();
})
.ajaxStop(函数(){
$(this.hide();
})
;

每当您进行任何Ajax调用时,ajaxStart/Stop函数都将启动

更新:从jQuery 1.8开始,文档说明.ajaxStart/Stop只应附加到文档。这会将上述代码段转换为:

var$loading=$('#loadingDiv').hide();
$(文件)
.ajaxStart(函数(){
$loading.show();
})
.ajaxStop(功能(){
$loading.hide();
});

发表评论