1

ここでは、jqueryによって画像をプリロードするコードを提供しています。

 var _images = ['/images/ajax-loader.gif'];
   $.each(_images, function (e) {
       $(new Image()).load(function () {
           //alert($(this).attr('src') + 'has loaded!');
       }).attr('src', this);
   });

ここでは画像パスをハードコーディングしているため、上記のコードは正常に機能しますが、画像パスが変数に格納されている場合は機能しません。

ここで私はエラーを与えるコードを与えています。

    var _images = '[' + data.d[0].LabelImagePath + ']';
                        $.each(_images, function (e) {
                            $(new Image()).load(function () {
                                $('#imgHolder').html("<img src='" + data.d[0].LabelImagePath + "' border=0/>");
                                $("#btnPrint").show();
                            }).attr('src', this);
                        });

この行は、/ images/1Z520777777779.gifのような画像パスを返します。

したがって、上記のコードによってjqueryを使用して画像パスが変数に格納されている場合に画像をプリロードする方法を教えてください。ありがとう

4

1 に答える 1

3

あなたは配列の代わりに文字列を構築しています(理由はわかりません)。あなた$.each()は繰り返すことができる何かを期待しています。

代わりに配列を作成してみてください。機能します。

var _images = [data.d[0].LabelImagePath];

また、の内部では$.each()、を使用しないdata.d[0].LabelImagePathでください。複数の画像をプリロードしようとするとコードが破損するためです。

于 2011-09-28T10:44:43.047 に答える