JQuery проверить, если изображение загружено

Мне нужна помощь со следующим кодом, который не работает:

var timeoutID= 0;
var currentImage = 0; // первое изображение - это позиция 0 в массиве arrImages
var arrImages=[bla bla bla массив URL-адресов изображений];
функция слайд-шоу ()
{
   if ($ ('# myImg'). complete) // <------- Здесь происходит сбой, поскольку он НЕ УКАЗАН.
   {
      // curentImage - это глобальная переменная, которая запоминает экранную клавишу массива изображения
      var nextImage = currentImage + 1;

      // arrImages - массив URL изображений
      если (Nextimage> = arrImages.length) {Nextimage=0;}

      $('# MyImg') атр ('ЦСИ', NEXTIMAGE).

      clearTimeout(timeoutID);
      // Меняем изображение каждую секунду после загрузки предыдущего изображения
      timeoutID= SetTimeout ("слайд-шоу ()",1000);
   }
   еще
   {. $ ('# MyImg') нагрузка (слайд-шоу);
   }
}

По сути, я хочу менять src для #myImg каждую секунду, при условии, что счетчик запускается после загрузки изображения.

*Я ненавижу кнопку кода в текстовом редакторе для переполнения стека!

2 ответа

'complete' для нативного объекта javascript. поэтому вы должны получить объект javascript из jQuery. лайк,

$('#myImg')[0].complete

или же

$('#myImg').get(0).complete

Если я правильно помню, изображение получает ширину и высоту, когда оно загружается. Поэтому я думаю, что вы можете проверить ширину, если изображение. И до тех пор, пока это 0, изображение не загружается.

Другие вопросы по тегам