为所有图像预加载图像

时间:2016-04-25 12:17:35

标签: javascript php ajax preloader

我尝试使用jQuery load()方法为所有图像添加预加载图像。 在我的php文档中,我读取了image-folder并创建了一个img-tag foreach元素。

这样的事情:

$myimages = opendir("img/");
$gallery = array();
while($myimage = readdir($myimages))
{
 if($myimage != '.' AND $myimage != '..')
 {
  $gallery[] = $image;
 }
} 

sort($gallery);

foreach ($gallery as $image) { 
    echo '<div><img src="img/'.$image.'" id="preload"/></div>';
}

closedir($myimages); 

现在我想显示一个“微调图像”,直到加载图像。 使用window.loadjQuery load的每次尝试都不适用于我。

任何人都可以向我解释我必须做什么吗?

感谢您的帮助!

//编辑//

如果我在div中使用额外的html,则可以正常使用。

1 个答案:

答案 0 :(得分:0)

你可以使用javascript预加载图片

function preloadImages(array) {
if (!preloadImages.list) {
    preloadImages.list = [];
}
var list = preloadImages.list;
for (var i = 0; i < array.length; i++) {
    var img = new Image();
    img.onload = function() {
        var index = list.indexOf(this);
        if (index !== -1) {
            // remove image from the array once it's loaded
            // for memory consumption reasons
            list.splice(index, 1);
        }
    };
    list.push(img);
    img.src = array[i];
}

}