我正在研究一個Phonegap應用程序,其中我試圖向用戶顯示不同數量的圖像。我的GUI遵循this文章中的原則。如何判斷一個圖像在更改其源後的渲染時間
我知道在我製作ajax GET請求之前會得到多少圖片,所以我使用jQuery的append方法添加了正確數量的圖片,以顯示加載gif到相關div。然後我開始我的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