Проблема с предварительной загрузкой изображения с помощью jquery - PullRequest
1 голос
/ 28 сентября 2011

здесь я даю код для предварительной загрузки изображения с помощью 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 с помощью приведенного выше кода. спасибо

1 Ответ

3 голосов
/ 28 сентября 2011

Вы строите строку вместо массива (я не знаю, почему). Ваш $.each() ожидает что-то, что может быть повторено.

Попробуйте вместо этого создать массив, он будет работать:

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

Кроме того, внутри $.each() не используйте data.d[0].LabelImagePath, потому что он сломает ваш код, когда вы пытаетесь предварительно загрузить более одного изображения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...