在执行脚本之前等待一些加载的图像

时间:2012-11-19 21:02:35

标签: javascript

我有一个隐藏的div标签,可用于运行的已加载图像总数:

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

当图像页面运行时,它会加载8个图像,并且每个onload都会向“ImagesLoaded”添加1。某些图像可能比其他图像大,因此页面加载时间可能会有所不同。当'ImagesLoaded'为8时,我想运行一个脚本来调整我的屏幕,这将基于图像的大小和方向。

我想知道的是:如何在后台运行一个脚本,每100毫秒检查一下我加载了多少图像?当有8张图片时,它应该停止查看金额,并运行另一个脚本。

有什么想法吗?

2 个答案:

答案 0 :(得分: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
      }
 }

答案 1 :(得分: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元素来存储值。

相关问题