1
   $.ajax({
        url: "/image/productImages.jpg",
        timeout:5000,

        beforeSend: function(){
    // Handle the beforeSend event
        $('##loading').show();
        },

        complete: function(){
        // Handle the complete event
        $('##loading').hide();
        },

        success: function (data) {
            alert("image was added successfully");
        },

        error: function () {
            alert("There was an error. Image could not be added, please try again");
        }
    });

画像の読み込み中にディスプレイの読み込みgifを表示し、画像が読み込まれたら削除したいと思います。これを行うためのコードがありますが、これはすぐにエラーになります。誰かがこれを修正する理由や方法を知っていますか? 前もって感謝します!

4

3 に答える 3

3

ID セレクターには 2 つのハッシュがあります。

代わりにこれを試してください:

 $('#loading').show();
于 2012-05-30T18:22:45.057 に答える
1

エラー ハンドラにアクセスしている場合、エラーはサーバーから返されたデータに関連しています。これをエラーハンドラーとして試して、何が起こっているかについての詳細情報を取得してください (ブラウザのコンソールで結果を確認してください):

error: function (x,y,z) {
    alert("There was an error. Image could not be added, please try again");
    console.log(x,y,z);
    //alert(x + "\n" + y + "\n" + z);
}

ただし、イメージをプリロードする簡単な方法があります。これを試して:

$("#loading").show();
var img = new Image();
$(img).load(function(){
    $("#loading").hide();
});
img.src = "/image/productImages.jpg";
于 2012-05-30T18:39:53.943 に答える
0

そのため、.ajax タグで画像を URL として読み込めないことがわかりました。返信ありがとうございます。ただし、##loading は coldfusion タグ用です

.load() は次のように推奨されます。

 var img = $("<img />").attr('src', 'http://somedomain.com/image.jpg')
                  .load(function() {
                     if (!this.complete || typeof this.naturalWidth == "undefined" || this.naturalWidth == 0) {
                         alert('broken image!');
                     } else {
                         $("#something").append(img);
                     }
          });

ただし、これは私が実装したコードを壊し、IE では機能しません... 残念ながら。

于 2012-05-30T20:42:18.090 に答える