這可能是一個奇怪的解釋: 我想動態創建一個畫布集合,其中將有一個單一的圖像。這顯示(經過很多麻煩和擺脫onload事件),但當我嘗試刷新頁面,我有時在屏幕上什麼都沒有。 當我使用onload事件(等待圖像加載)時,它不會顯示或顯示上一個畫布中的所有內容。循環創建多個畫布,多個圖像並不總是顯示圖像
下面是代碼片段:
var sources = []//the array that contains the images
var divCanvas = document.getElementById('showcase-wrapper')
for(var i=0; i<sources.length; i++){
img = new Image()
img.src = sources[i]
canvas = document.createElement('canvas')
$(canvas).attr('id', i)
canvas.height=300
canvas.width=200
var context = canvas.getContext('2d');
//onload commented out allows expected display
//img.onload = function() {
context.drawImage(img, 0, 0);
//}
divCanvas.appendChild(canvas)
}
我所看到的,似乎看起來像我的,嘗試了不少,但無濟於事許多職位。
必須使用onload事件,否則這是一個競爭條件的圖像是否已加載與否。你可能只是有一個與你以前的代碼錯誤。 – 2012-01-31 13:26:25
只是嘗試onload,只有最後一個圖像顯示其他人不顯示,即使畫布創建爲他們顯示到... – AKFourSeven 2012-01-31 14:06:18