4

次のコードでは、サーブレットの get 要求を作成し、出力を javascript 変数に割り当てています。データを取得するのに約 1 分かかります。get リクエストが完了するまでスピナーをロードする方法を知りたいです。私を助けてください。

var myJSONObject = null;

function getJsonData(){
$.get("getData", function(data) {
    myJSONObject = data;
});
4

3 に答える 3

2

皆さんありがとう。私は解決策を見つけました:

HTML コード:

<div id="spinner" class="spinner" style="display:none;">
    Getting value. Please wait....<br>
    <img id="img-spinner" src="loader.gif" alt="Loading"/>
</div>


$(document).ready(function(){
    $("#spinner").bind("ajaxSend", function() {
          $(this).show();
    }).bind("ajaxStop", function() {
        $(this).hide();
    }).bind("ajaxError", function() {
        $(this).hide();
    });

     });
于 2013-06-11T11:02:55.190 に答える
1

使用する

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

ここで、loadingDiv は、スピナー イメージを含む div です。loadingDivのcssを次のように設定します

#loading {
  width: 100%;
  height: 100%;
  position: fixed;
  opacity: 1;
  z-index: 99;
  margin: auto;
}

そして、読み込み中のdivにローダーのgifを配置します。

于 2013-06-10T06:28:05.123 に答える
-1

これを試して:

function getJsonData() {
    var spinner = $('<img src="spinner.gif"/>').addClass('spinner').
                      appendTo('body');
    $.get("getData", function(data) {
        myJSONObject = data;
        spinner.remove();
    });
}
于 2013-06-10T06:28:03.263 に答える