Onload将图像从for循环附加到元素

时间:2017-08-21 18:00:44

标签: javascript php image scope onload

我有一个关于在for循环中调用onload of image的问题。我做了一些研究并在这个网站上发现了类似的主题,遗憾的是我没有找到一个我理解并且能够运行的解决方案。

成就:从目录加载图片并在加载到元素后附加图片。

什么有用?从目录加载图像并将它们附加到元素。

什么行不通:在onload函数之后附加图像。

我确实有一个想法,因为我在浏览这个网站时看过的主题。当我在for循环中没有正确的onload范围时,它会占用最后一个值(这是在一些测试之后发生的事情),所以我需要一个函数(?)来从数据库中释放出数据我需要图像(?)。

到目前为止,这是我的代码:

<?php
$images_array = glob("{$dir}/*.{jpg,png,gif,jpeg}", GLOB_BRACE);
?>

var js_images_array = <?php echo json_encode($images_array, JSON_UNESCAPED_SLASHES); ?>;

for(var i = 0; i < js_images_array.length; i++){
    var img = new Image();
    (function(k){
        img.className += " grid-item";
        img.onload = function() {
            document.getElementById('image_grid').appendChild(img);
        }
        img.src = js_images_array[k];
    })(i);
}

这会将我的数组的最后一个图像加载到所选元素中。

任何想法,建议和/或改进?

0 个答案:

没有答案