我有一个关于在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);
}
这会将我的数组的最后一个图像加载到所选元素中。
任何想法,建议和/或改进?