我有一个按钮绑定了一个点击处理程序--根据数组中有多少项,会进行一个或多个AJAX调用。我使用blockUI jQuery插件在ajax调用时显示消息,然后显示结果,并通过调用$.unblockUI();移除blockUI消息。
问题: 由于某种原因,在第一个ajax调用完成后,无论我想让ajaxCall函数执行多少次,消息都被删除了,尽管循环仍然继续执行,结果在#results div中正确显示。我希望在删除消息之前完成所有循环迭代,但它似乎不是按顺序执行的。以下是相关代码:
$("#myButton").live("click", function(){
$.blockUI({ message: '<img src="new_loader.gif" /><h2>Getting Config Files</h2><small>Please be patient.</small>',
css: {
border: 'none',
padding: '15px',
backgroundColor: '#FFF',
'-webkit-border-radius': '10px',
'-moz-border-radius': '10px',
color: '#000'
}
});
for (var i=0; i< myArray.length; i++)
{
ajaxCall(myArray[i]);
}
$("#results").show('slow');
$.unblockUI();
return false;
});
循环尚未完成,为什么循环之后的代码正在执行?请帮忙解答!谢谢。