8

タブ付きの Web アプリケーションがあり、ページ遷移の前に画像のキャッシュも作成したので、ユーザーがページに移動すると、そのページに遷移する前にすべての画像がダウンロードされていることを確認します。

多くの画像があるタブをクリックすると、スピナーが表示され、バックグラウンドで画像のダウンロードが開始され、終了後にページが表示されます。

しかし、これを行っている間、ユーザーの入力やタップをフリーズしたいと考えています。では、ページ全体をフリーズおよびフリーズ解除する最良の方法は何ですか?

4

4 に答える 4

16

jQuery Block UIと呼ばれる定義済みの jQuery UI を使用できます。

または、ボディをブロックし、ボディが読み込まれるとフェードアウトする分割を追加するだけです。

<div id="div">
    <h1>Please Wait..</h1>
</div>

jQuery は次のようになります。

$(document).ready(function(){
    $("#div").fadeOut()
  });

これが実際の例です。画像が完全に読み込まれるまで、ページはブロックされます。

于 2012-08-21T10:41:31.637 に答える
2

この JQuery コードは、ページ上の要素を無効にできます。

$("body").find("*").attr("disabled", "disabled");
$("body").find("a").click(function (e) { e.preventDefault(); });

そして、この JQuery コードは要素を再び有効にします。

$("body").find("*").removeAttr("disabled");
$("body").find("a").unbind("click");
于 2012-08-21T10:39:26.540 に答える
0

私が使う:

$(window).bind('load', function() {
    // code here
});

ページが完全に読み込まれるまで、このイベントは発生しません。そこで、ページの要素のロックを解除する関数を呼び出すことができます。

楽しみ :)

于 2013-10-11T16:49:06.513 に答える
0

トップレベルの透明/半透明オーバーレイでインターフェイスを覆うと、その下にある要素のイベントがブロックされます。

ただし、これを行うと、ユーザーから UI コントロールを奪うことになります。

于 2012-08-21T10:33:46.653 に答える