2012-11-19 49 views
-1

之前,我有一個將被用於運行的總加載的圖像的一個隱藏的div標籤:等待一些加載的圖像的執行腳本

<div id="ImagesLoaded">0</div> 

當圖像網頁運行加載8幅圖像,每onload將1添加到'ImagesLoaded'。某些圖片可能比其他圖片更大,因此頁面加載時間可能會有所不同。當'ImagesLoaded'是8時,我想運行一個腳本來調整我的屏幕,這將基於圖像的大小和方向。

我想知道的是:我如何在後臺運行一個腳本來檢查每100毫秒我加載了多少圖像?當有8個圖像時,應停止查看數量,然後運行另一個腳本。

任何想法?

+1

爲什麼你就不能做出'img.onload'處理程序,而不是這樣的檢查? – raina77ow

回答

4
onLoad = "addOneToImagesLoaded();" 

和JS:

function addOneToImagesLoaded(){ 
     current_count = parseInt(getElementById('ImagesLoaded').innerHTML); 
     current_count = current_count+1; 
     getElementById('ImagesLoaded').innerHTML = current_count.toString(); 
     if (current_count == 8){ 
      YOUR LOGIC GOES HERE 
     } 
} 
+0

我甚至想到在那裏添加它。工作很好..!非常感謝! – neojakey

2

您可以使用setInterval

var imageInterval = setInterval(checkingFunction, 100); 

function checkingFunction() 
{ 
    if (count == 8) 
    { 
     // do what you want to do 
     clearInterval(imageInterval); 
    } 
} 

另外,您可以在onload處理程序調用一個函數是這樣的:

function imageLoaded() 
{ 
    count++; 
    if (count == 8) 
    { 
     // do what you want to do 
    } 
} 

在這兩個例子中,我使用全局變量count而不是div元素來存儲值。

相關問題