Я работаю над приложением Phonegap, в котором я пытаюсь отобразить пользователю различное количество изображений. Мой графический интерфейс соответствует принципам, изложенным в статье this.Как определить, когда изображение сделано рендерингом после изменения его источника
Я знаю, сколько изображений я получу до того, как я сделаю свой запрос ajax GET, поэтому я добавляю правильное количество изображений, отображающих gif загрузки, в соответствующий div, используя метод добавления jQuery. Затем я начинаю свой запрос ajax.
В моем успехе обратного вызова У меня есть следующий метод
imageblock.forEach(function(entry)
{
changeImage(i, entry, i*1000);
i++;
});
функция changeImage() выглядит следующим образом:
function changeImage(index, src, timeout)
{
setTimeout(function()
{
$("#image"+index).attr("src", 'data:image/png;base64,'+src);
},timeout);
}//changeImage
Без использования SetTimeout() Я наблюдал приложение к зависанию времени он отображает изображения. Таким образом, это работает отлично, поскольку, по-видимому, браузеру достаточно времени, чтобы сделать изображение.
Мне было интересно, есть ли лучший способ, чем ждать фиксированного интервала времени для загрузки следующего изображения. Я посмотрел на onLoad(), но, похоже, это срабатывает, когда я изначально создаю тег изображения, в котором отображается загрузочный gif. Есть ли способ сказать, когда изображение будет выполнено?
В соответствии с этим: http://stackoverflow.com/questions/910727/jquery-event-for-images-loaded вы должны использовать это: https://github.com/desandro/imagesloaded – datashaman