我在我的代碼中遇到了事件監聽器和圖像加載器的問題。當我嘗試加載並檢查基於事件偵聽器加載的圖像的狀態時,跳過了一些圖像。我認爲瀏覽器只能處理一個事件,而當活動的事件不會停止時,可以工作並跳過其工作。因此很少的圖像會返回到前景狀態並可以使用。給我一些關於這個的建議。這是我的代碼:AddEventListener和圖像加載器的問題
//Image loader
var urlList = [
'images/ground_02.png', // 0 - FG
'images/ground_layer0.png', // 1 - CITY
...
];
var urlListLength = urlList.length; //length of URL-array
var iCount = new Number(0); // Create zero-counter
var images = new Array(); // All images array. Each elem stores one image
var imageInfo = function(imageName, imageCount, imageWidth, imageHeight) { // Constructor for image data container
this.imageName = imageName; // Url of image
this.imageCount = imageCount; // Frames
this.imageWidth = imageWidth; // Width of images
this.imageHeight = imageHeight; // Height of images
};
var imageData = new Array(); // Images data array
for (var i=0; i!=urlListLength; ++i) { // Loop for each image load
images[i] = new Image(); // Image array.
images[i].addEventListener('load', function(i) {
imageData.push(new imageInfo(images[iCount], images[iCount].width/images[iCount].height, images[iCount].width, images[iCount].height));
iCount++;
if (iCount == urlListLength) {
var loaded = true;
loop();
};
}, false);
images[i].src = urlList[i];
images[i].onerror=function() {
alert("FAIL "+this.src);
};
};
你可以編輯你的文章,使其更清晰你問什麼問題?你有沒有試圖確認你對事業的想法? – Hbcdev
如何測試一些圖像是否加載? –
你應該在設置src之前定義onerror *。 –