0

ページを読み込んだ後に自分のページを表示しようとしています。

そのためには、

 <div id ="loadingDiv">
        <img src="urltogif">
    </div>

上記のdivを作成し、以下のjsを使用しました。

 $('#loadingDiv')
    .hide()  // hide it initially
    .ajaxStart(function() {
        $(this).show();
    })
    .ajaxStop(function() {
        $(this).hide();
    });

ただし、gif 画像は常にページに表示されます。これの理由は何ですか?

4

2 に答える 2

1

ページの読み込みが完了し、DOM の準備が整った後に jQuery コードが実行されるようにする必要があります。これはready()、 jQuery の関数を使用して実行できます。

$(document).ready(function() {
    $('#loadingDiv').hide() // hide it initially
    .ajaxStart(function() {
        $(this).show();
    }).ajaxStop(function() {
        $(this).hide();
    });
})​

ここでの作業例- ボタンをクリックして AJAX リクエストを開始します - 応答に 5 秒の遅延があるため、「読み込み中」の div を確認できます

アップデート

以下のコメントに基づいて-divページの読み込み時に表示し、ページの読み込み時に非表示にする必要があると思います:

HTML :

<div id ="loadingDiv">
    <img src="urltogif">
</div>

これは、デフォルトで表示されることを意味します。次の jQuery は、ページが完全にロードされると非表示になります

$(document).ready(function() {
    $('#loadingDiv').hide();
});

この場合、なぜAJAXメソッドがそこにあるのかわかりません!?????????? または、おそらく私はあなたの質問を完全に読み逃しました!

于 2012-04-25T13:06:05.163 に答える
0

ページが完全にロードされたら jQuery を実行できるように、 document.ready 関数を top に含める必要があります。

于 2012-04-25T13:11:10.777 に答える