我有这个代码,但它没有用。请有人帮帮我吗?非常感谢。
$("#Picture1, #Picture2, #Picture3, #Picture4").click(function() {
$('#loading').hide().ajaxStart(function() {
$(this).show();
}).ajaxStop(function() {
$(this).hide();
});
$("#popupContainer").fadeIn(250);
});
答案 0 :(得分:0)
您应该将.ajaxStart()
和.ajaxStop()
函数附加到document
,以便它会在页面的任何位置监视AJAX事件。
你现在编码的方式,你只是在ID loading
的元素中观察AJAX事件,我相信这是你忙碌的等待指标,对吗?
试试这个:
$( document ).ajaxStart(function() {
$('#loading').show();
}).ajaxStop(function() {
$('#loading').hide();
});
现在,在您的单击处理程序中,每当执行AJAX操作时,忙等待(读取:加载元素)将在启动时显示,并在AJAX操作结束时隐藏。
$("#Picture1, #Picture2, #Picture3, #Picture4").click(function() {
// Do AJAX operation here
});
更新:
由于您不希望在AJAX操作发生时显示加载消息,而是在单击按钮然后在弹出窗口淡入时隐藏消息时,我推荐jQuery BlockUI Plugin。