使用jQuery阻止UI

时间:2011-01-16 19:24:21

标签: jquery jquery-blockui

我使用jQuery阻止ui像这样

$('#send').click(function() {
       $.blockUI({ message: 
       '<p id="loading"><img src="images/busy.gif" /> processing...</p>'});  
        send();
       $(document).ajaxStop($.unblockUI); 
       setTimeout($.unblockUI, 2000); 

}); 

send()执行一些后台处理并在#loading标记中设置响应消息。完成该过程后,我希望此消息保持几秒钟,因此我使用setTimeout但这不起作用。

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

您的脚本似乎已经使用unblockUI致电ajaxStop了吗?您是否尝试删除此行或在ajaxStop处理程序中设置超时?

<强>更新

你可以试试这个:

$('#send').click(function() {
    $.blockUI({ message: '<p id="loading"><img src="images/busy.gif" /> processing...</p>'});  
    send();
    $(document).ajaxStop(function(){
        setTimeout($.unblockUI, 2000); 
    }); 
}); 

答案 1 :(得分:0)

您可以使用jQuery的delay([time in seconds])功能。 据我所知,setTimeout适用于另一个工作流而不是脚本的其余部分。