2011-09-26 70 views
0

我正在使用jquery插件從flickr加載圖片。我試圖將這些圖像分佈到3列中,目標是將每個圖像放在最短的列中,以便列的末尾接近相等長度。使用AJAX加載圖片時出現問題

該腳本在IE中大部分時間都很有效。它在Firefox中不太可靠,但現在看起來更好。但在Chrome中,它完全失敗。我縮小了問題的範圍,因爲在腳本運行時它認爲圖像的尺寸爲零。這些維度直到稍後纔出現,但我想分發這些圖片,而不是在最後重新洗牌。爲什麼即使在使用Image對象時也會發生?我怎樣才能解決這個問題?

+1

如何處理一些代碼@Moss – frosty

+0

一些相關的代碼會非常有用!你能向我們展示你縮小的部分嗎?或創建一個jsfiddle? – AndyL

+0

謝謝你們。我不得不從每幅圖像的負載中解開分佈函數。這意味着圖像必須在第一次加載時被隱藏。我以爲我將不得不取消我使用的flickr插件,但我設法整合它。 – Moss

回答

1
var myimg = document.getElementById('myimage'); 

如果我給這傢伙一個新中源,img.onload事件將觸發以獲取圖像dimantion,所以我需要放入加載到onload事件處理程序後應該觸發的代碼。

myimg.onload = function(){ 
    //do some crap 
} 
myimg.src = someAjaxCall(); 
1

也許你應該試着與負載()事件

$('img').load(function() { 
    alert($(this).width()); 
}); 
+0

很好的答案,因爲它使用jQuery。我的答案不使用jQuery,但仍然是一個很好的答案。 – frosty