我正在使用jquery插件從flickr加載圖片。我試圖將這些圖像分佈到3列中,目標是將每個圖像放在最短的列中,以便列的末尾接近相等長度。使用AJAX加載圖片時出現問題
該腳本在IE中大部分時間都很有效。它在Firefox中不太可靠,但現在看起來更好。但在Chrome中,它完全失敗。我縮小了問題的範圍,因爲在腳本運行時它認爲圖像的尺寸爲零。這些維度直到稍後纔出現,但我想分發這些圖片,而不是在最後重新洗牌。爲什麼即使在使用Image對象時也會發生?我怎樣才能解決這個問題?
我正在使用jquery插件從flickr加載圖片。我試圖將這些圖像分佈到3列中,目標是將每個圖像放在最短的列中,以便列的末尾接近相等長度。使用AJAX加載圖片時出現問題
該腳本在IE中大部分時間都很有效。它在Firefox中不太可靠,但現在看起來更好。但在Chrome中,它完全失敗。我縮小了問題的範圍,因爲在腳本運行時它認爲圖像的尺寸爲零。這些維度直到稍後纔出現,但我想分發這些圖片,而不是在最後重新洗牌。爲什麼即使在使用Image對象時也會發生?我怎樣才能解決這個問題?
var myimg = document.getElementById('myimage');
如果我給這傢伙一個新中源,img.onload事件將觸發以獲取圖像dimantion,所以我需要放入加載到onload事件處理程序後應該觸發的代碼。
myimg.onload = function(){
//do some crap
}
myimg.src = someAjaxCall();
也許你應該試着與負載()事件
$('img').load(function() {
alert($(this).width());
});
很好的答案,因爲它使用jQuery。我的答案不使用jQuery,但仍然是一個很好的答案。 – frosty
如何處理一些代碼@Moss – frosty
一些相關的代碼會非常有用!你能向我們展示你縮小的部分嗎?或創建一個jsfiddle? – AndyL
謝謝你們。我不得不從每幅圖像的負載中解開分佈函數。這意味着圖像必須在第一次加載時被隱藏。我以爲我將不得不取消我使用的flickr插件,但我設法整合它。 – Moss