0
我遇到麻煩讓JQuery blockUI工作。我使用此代碼:JQuery blockUI不起作用,除非我首先顯示警告
$.blockUI({
message : null,
overlayCSS : {
backgroundColor : '#000000;',
opacity : .4
}
});
如果我只是調用上面,然後調用休眠功能之下,我得到以下行爲: 什麼也沒有發生,持續5秒 塊閃爍
var start = new Date().getTime();
for (var i = 0; i < 1e7; i++) {
if ((new Date().getTime() - start) > 5000) {
break;
}
}
如果我運行此代碼:
alert("foo");
$.blockUI({
message : null,
overlayCSS : {
backgroundColor : '#000000;',
opacity : .4
}
});
var start = new Date().getTime();
for (var i = 0; i < 1e7; i++) {
if ((new Date().getTime() - start) > 5000) {
break;
}
}
alert("bar");
我得到以下行爲:
警報和塊出現(我可以無限期地等待一段時間再清除警報)
當我清除警報按鈕,沒有任何反應,持續5秒
警報切換到「吧「消息
報警和阻斷清楚,當我解除警報
因爲for循環將鎖定的頁面,什麼都不會跑......這是一個壞理念。 – epascarello
從你所說的聽起來好像有一個由jquery blockUI方法啓動的線程,當我的「睡眠」代碼執行時沒有機會完成。有沒有辦法可以重新編寫睡眠代碼,以便它只暫停當前線程並讓後臺線程繼續並繪製阻止窗格? – John