我有一個Javascript地圖工具包,它使用圖像對象來加載圖像。每次移動/調整地圖大小時,都會加載許多圖像。但是我想知道如何在執行移動/調整大小操作後加載所有圖像時啓動某個功能。我如何知道一批圖像被加載?
有沒有一種方法可以創建像「allimages.onload = function(){}」這樣的偵聽器?
或者是否有任何解決方法?
我有一個Javascript地圖工具包,它使用圖像對象來加載圖像。每次移動/調整地圖大小時,都會加載許多圖像。但是我想知道如何在執行移動/調整大小操作後加載所有圖像時啓動某個功能。我如何知道一批圖像被加載?
有沒有一種方法可以創建像「allimages.onload = function(){}」這樣的偵聽器?
或者是否有任何解決方法?
您將不得不保留尚未加載的圖像的數量,並在出色圖像計數達到0時調用最終功能。
function nofunction() {}
function loadImages(srcs, callback) {
var images= [];
var imagen= srcs.length;
for (var i= 0; i<srcs.length; i++) {
var image= new Image();
image.onload=image.onerror= function() {
imagen--;
if (imagen==0) {
this.onload=this.onerror= nofunction;
callback();
}
};
image.src= srcs[i];
images.push(image);
}
return images;
}
...
var images= loadImages(['/img/1.gif', '/img/2.gif'], function() {
alert('yay');
});
for (var i= 0; i<images.length; i++)
mapelement.appendChild(images[i]);
謝謝。也許這就是我想要的,我會很快嘗試 – 2009-11-05 01:04:19
不久前我寫了a blog post關於檢測單個圖像的負載。您可以使用該示例來構建檢查是否加載了所有圖像的函數。我希望這會有所幫助。
什麼是JavaScript地圖工具包?任何示例代碼,鏈接到?JavaScript地圖工具包的主頁? – jitter 2009-11-04 10:42:30
另外:當所有圖像加載完成時會觸發此功能,該怎麼辦?也許我們可以幫助你實現相同的結果,而不需要實現這樣一個監聽器,這將很難創建。 – 2009-11-04 10:53:00