0

このコードを取得しましたが、機能していません。誰か助けてください。とても感謝しています。

$("#Picture1, #Picture2, #Picture3, #Picture4").click(function() {
$('#loading').hide().ajaxStart(function() {
  $(this).show();
    }).ajaxStop(function() {
      $(this).hide();
    });
$("#popupContainer").fadeIn(250);
});
4

1 に答える 1

0

ページのどこでも AJAX イベントを監視できるように、.ajaxStart()および.ajaxStop()関数を にアタッチする必要があります。document

今のコーディング方法では、ID の要素内の AJAX イベントのみを監視していますloading。これはビジー状態の待機インジケーターだと思いますよね?

これを試して:

$( document ).ajaxStart(function() {
    $('#loading').show();
}).ajaxStop(function() {
    $('#loading').hide();
});

これで、クリック ハンドラーで、AJAX 操作を実行するたびに、開始時にビジー待機 (読み取り: 要素の読み込み) が表示され、AJAX 操作が終了すると非表示になります。

$("#Picture1, #Picture2, #Picture3, #Picture4").click(function() {
    // Do AJAX operation here
});

アップデート:

AJAX 操作が発生したときに読み込みメッセージを表示するのではなく、ボタンがクリックされたときにメッセージを表示し、ポップアップがフェードインしたときにメッセージを非表示にしたいので、jQuery BlockUI Pluginをお勧めします。

于 2013-08-14T18:00:53.673 に答える