2011-10-10 59 views
2

我正在使用jQuery BlockUI plugin向由於CAML查詢而需要幾秒鐘加載的頁面添加加載閃屏。問題是,頁面在之前加載,則BlockUI顯示一瞬間並消失。這似乎是JS執行這些錯誤的順序,我不明白爲什麼。有什麼我可以改變的代碼或是BlockUI只是不打算沒有Ajax使用?DOM Ready上的BlockUI

$(document).ready(function() { 
    $.blockUI(); 
}); 
$(window).ready(function() { 
    $.unblockUI(); 
}); 

在HTML標題我請的jquery,blockui,和包含CAML查詢和加載網頁元素(以該順序)的common.js腳本。該common.js腳本也對DOM準備好了,我懷疑可能是問題的一部分運行...

回答

3

試試這個:

<html> 
    <head> 
     <script src="jquery.js"></script> 
     <script src="blockui.js"></script> 
     <script type="text/javascript"> 
      $.blockUI(); 
     </script> 
    </head> 
    <body> 
     … 
    </body> 
</html> 

這應該阻止用戶界面的方法之前什麼都已經加載。

編輯:好吧,我真的很想看看它...... $.blockUI支持回調函數。

所以,你可以/應該這樣做:

$(document).ready(function() { 
    $.blockUI({ 
     onBlock: function() { 
      // Invoke your CAML stuff here. 
     } 
    }); 
}); 
+0

謝謝,但這樣做,它不會出現在所有... – kramden88

+0

見我的編輯... – vzwick

+0

嗯,我並不需要snippy注意 - 這並不像我自己無意閱讀文檔 - 但是您的建議很有用。謝謝。 – kramden88