1

Ajaxでロードするhtmlがロードされている間にロード中の画像を表示したいのですが、次のコードは機能しないようです。

$('#loading-image').bind('ajaxStart', function(){
          $(this).show();
    }).bind('ajaxStop', function(){
          $(this).hide();
        });

game.htmlのコンテンツを.content要素にロードするときにロードイメージを表示したい。

$('body').on('click', '.mch-ajax', function(e){
        e.preventDefault();
        $('#mch-overlay').fadeOut(300);
        $( ".content" ).load("game.html", function() {
                $( ".note" ).delay(400).fadeIn(700);
                $( ".route" ).delay(800).fadeIn(700);
                $( ".start-btn" ).delay(1200).fadeIn(700);
        }); 
    });

「プレイ」をクリックすると、「ゲームを開始」ボタンが次のコードを実行します。

$( ".content" ).load("game.html"....

HTMLとcss:

4

2 に答える 2

3

jquery 1.9.0のアップグレード ガイドを参照してください。

AJAX イベントはドキュメントに添付する必要があります

jQuery 1.9 の時点で、グローバル AJAX イベント (ajaxStart、ajaxStop、ajaxSend、ajaxComplete、ajaxError、および ajaxSuccess) は、ドキュメント要素でのみトリガーされます。ドキュメントの AJAX イベントをリッスンするようにプログラムを変更します。たとえば、コードが現在次のようになっているとします。

$("#status").ajaxStart(function(){ $(this).text("Ajax 開始"); });

これを次のように変更します。

$(document).ajaxStart(function(){ $("#status").text("Ajax 開始"); });

于 2013-02-19T16:34:55.217 に答える
2

beforeSendcompleteを使ってみてください$.ajaxSetup

$.ajaxSetup({
    beforeSend: function(){
        $('#loading-image').show();
    },
    complete: function(){
        $('#loading-image').hide();
    }
});
于 2013-02-19T16:28:11.503 に答える