2012-10-30 32 views
0

我有一個預加載的圖像數組,我的頁面上有9個img標籤。 當我將鼠標懸停在一個按鈕上時,我想隨機替換並將數組中的九個圖像與數組中的圖像混合。 這一切工作,但它運行緩慢,imgs重新加載src。怎麼辦,然後我加快img加載

var arrayImg = new Array(); 

arrayImg[0] = new Image(); 

<img id="img0" > 

做:

document.getElementbyID("img0").src = arrayImg[random_ndx].src; 

有9張圖像。

我上了一個新的快速pc上運行IE8但在改變圖像非常明顯的滯後。所以,我的問題;如何將緩存圖像(arrayImg [random_ndx])直接分配給頁面上的元素()?

+1

這個問題看起來像是重複的,看看url是否有助於你http://stackoverflow.com/questions/476679/preloading-images-with-jquery – roacher

回答

0

使用.replaceChild

local old = document.getElementbyID("img0") 
old.parent.replaceChild(arrayImg[random_ndx], old) 

注意,任何元素不能在頁面上有一個地方,所以如果你從arrayImg放置元素的地方,然後用它來代替其他圖像,你不會有兩幅圖像,它會移動從其以前的位置改爲新的。

0

您可以加載圖像並隱藏它們。然後你需要隱藏的圖像來顯示。這就是我將如何模擬緩存數組。