1

私はいくつかの調査をしましたが、私の問題の答えに到達することができませんでした。メニュー項目からタブをクリックしているときに画像をロードしたい。次のコードは、click()などの特定のイベントに最適です(他のいくつかの例を試しました)が、グリッドビューの読み込み時には機能しません。私は疑問に思っていましたが、コントロール/エンティティがロードを実行し始めたときに参照するjqueryのイベント(私は何も見つかりませんでした)はありますか?私はload()、onload()、ready()を意味します-すべてはロードが終了した瞬間を指します。

これが私のコードです。どんな助け/提案も親切に感謝されます:

<script type="text/javascript">
    $(document).ready(function () {
        $("#spinner").bind("ajaxSend", function () {
            $(this).show();
        }).bind("ajaxError", function () {
            $(this).hide();
        });
    });
</script>

また、

<script type="text/javascript">
    $(document).ready(function () {
        $('#btnSave,#btnOne,#btnTwo,#btnThree,#btnFour,#btnUndo').click(function () {
            //$("#spinner").append('<img id="img-spinner" src="Images/ajax-loader-test.gif" alt="Loading.." style="position: absolute; z-index: 200; left:50%; top:50%; " />');
            $('#spinner').show().fadeIn(20);
        });
    });
</script>

そしてAspコード:

<div id="spinner" class="spinner" style="display: none; width: 100%; height: 150%; position: absolute; z-index: 100; background-color: Gray; left: 0; top: 0; bottom: 0; right: 0">
     <img id="img-spinner" src="Images/ajax-loader-test.gif" alt="Loading.."         style="position: absolute; z-index: 200; left: 50%; top: 50%;" />
</div>

よろしくお願いします。

編集:私は自分の関数を次のように変更しようとしました:

    $(document).ready(function () {
    $("#spinner").css.apply('display','none');
    });

aspコードでdisplay:noneプロパティを削除しましたが、それでも機能せず、何が間違っているのかわかりません。

4

1 に答える 1

0

このコードをスタートアップ関数に追加します。

$('body').ajaxStart(function() {
  $('#spinner').show();
});

$('body').ajaxComplete(function() {
  $('#spinner').hide();
});

これにより、ajax呼び出しの開始時にdivが表示され、終了時に非表示になります。

ページが最初に読み込まれるときにスピナーを表示するには、次の行をdocument.readyに追加します。

$("#spinner").hide();

そして、「display:none;」を取ります。スピナーdivから。

于 2012-08-27T14:13:12.667 に答える