7

jquery と blockUI プラグインを使用してページがまだ読み込まれているときに UI をブロックするにはどうすればよいですか? ページがAJAX呼び出しを使用してロードされていた場合、回避策はわかっていますが、ページがポストバックでロードされている場合、ページのロードが完全に完了するまでUIをブロックする方法は?

助けてください。あなたの努力と時間を前もって感謝します。

4

6 に答える 6

9

bodyタグが出力されたらすぐにblockUIプラグインを起動する必要があります。

従来の代わりに:

<script type="text/javascript">
  $(function (){
    $("body").blockUI(options);
  });
</script>

$(function (){})囲みを忘れる必要がある$(document).ready(function (){})ので、スクリプトはすぐに起動します。

<script type="text/javascript">
  $("body").blockUI(options);
</script>
于 2009-04-30T12:55:17.840 に答える
4

セブの答えに基づいて修正します。UI をブロックする場合は .blockUI() を使用し、オブジェクトをターゲットにする場合は .block() を使用します。体をターゲットにする必要はないと思います。基本的には、それが関数 blockUI が独自に行うことです。body タグの後に関数を呼び出す必要があります...そうしないと、<body>タグはありません。すべての画像が読み込まれるまで UI をブロックしたままにしたい場合は、最後の行を参照してください。ページコンテンツのみをロードしたい場合は、使い慣れたページの下部にブロック解除機能を配置できます$(document).ready(function().

<script type="text/javascript">  
$("body").block(options);   
//--or--  
$.blockUI(options);  
</script>

<script type="text/javascript">   
$(document).ready(function() {  
   $(window).load(function() { $.unblockUI(); }); //load everything including images.  
//--or--  
   $.unblockUI(); //only make sure the document is full loaded, including scripts.  
});  
</script>
于 2010-12-03T23:12:48.767 に答える
0

すべてのコンポーネントを無効にしてページを開始し、PageLoad イベントでそれらを有効にすることができます。他のアイデアは、すべてのページを非表示にする CSS クラスを配置し、JQuery を使用してロード時にこれを変更することです。

于 2009-04-30T13:15:23.813 に答える
0

最終的に機能した完全なコードは次のとおりです。

$("body").block({ message: '<h2>Loading...</h2>' });

$(document).ready(function () {
     $("body").unblock();
});
于 2015-06-03T20:20:54.177 に答える
0

問題は、javascript ファイルの参照にあります。

ブロック UI を ASP.NET Ajax ページに追加する必要がある場合は、ScriptManager に JavaScript ファイルを含めてみてください。

于 2010-07-26T12:10:42.727 に答える
0

これを試しましたか?

<script type="text/javascript">
    $(document).ready(function () {
        $.blockUI(options);
    });
</script>
于 2010-08-04T15:20:26.430 に答える