2010-10-01 137 views
0

我想在执行此代码时延迟阻塞2秒。我怎样才能做到这一点 ?我试过setTimeout,但没有奏效。jquery加载的延迟函数?

document.getElementById('<%=btnSave.ClientID%>').disabled=true; 
document.getElementById('<%=btnSave.ClientID%>').value='Saving...'; 
$('#Block').block({message:'Please wait...',css: { border: '3px solid #a00' }}); 

回答

1

你是正确的在这里使用setTimeout(),像这样:

//block, what you currently have: 
$('#Block').block({message:'Please wait...',css: { border: '3px solid #a00' }}); 

//unblock in 2000ms, or 2 seconds 
setTimeout(function() { $('#Block').unblock(); }, 2000); 

如果你与一个UpdatePanel处理然后我会看看end_Request event,实际上疏通/重新启用时,请求饰面。

+0

解锁的Nick在PageRequestManager的endRequest中。我把它放在那里,但它不会工作。 – 2010-10-01 11:01:33

+0

它是畅通无阻,但只是在一瞬间。我认为还有一些其他问题,也许剧本被打破了。 – 2010-10-01 11:11:13

+1

@Popo - 你是否在更新面板中的块元素?在这种情况下,它将被替换为请求。 – 2010-10-01 11:42:45