0

次の画像を呼び出すこのJS関数があります。

          function showNextManifest() {
              var currentManifest = jQuery('#selectedManifestId').val();
              jQuery.ajax({
                  url: "${createLink(action:'nextManifest')}?currentManifestId=" + currentManifest,
                  dataType: "json",
                  success: function(e) {
                      if (e.success) {
                          jQuery('#gotoPageNumber').val(e.pageNumber);
                          jQuery('#selectedManifestId').val(e.id);
                          jQuery('#popupManifestCustomItemId').val(e.id);
                          showLargeManifestViewer(e.url);
                      } else {
                          alert('No more additional frames for this roll.');
                      }
                  }
              });

          }

画像が表示されるまでgifプリロードをドロップしたいと思います。これはif(e.success)の前に行われますか?

4

1 に答える 1

0

ajax する前にローダーgifをコンテナーに追加するだけです。あなたの関数がURLを置き換えるのを見ることができます。

  function showNextManifest() {
  showLargeManifestViewer('/loading.gif');
  //now it shows loader gif until ajax completed      

  var currentManifest = jQuery('#selectedManifestId').val();
              jQuery.ajax({
                  url: "${createLink(action:'nextManifest')}?currentManifestId=" + currentManifest,
                  dataType: "json",
                  success: function(e) {
                      if (e.success) {
                          jQuery('#gotoPageNumber').val(e.pageNumber);
                          jQuery('#selectedManifestId').val(e.id);
                          jQuery('#popupManifestCustomItemId').val(e.id);
                          showLargeManifestViewer(e.url);
                      } else {
                          alert('No more additional frames for this roll.');
                      }
                  }
              });

          }
于 2011-09-23T16:46:32.747 に答える