PHP加载后删除img

时间:2014-03-04 11:12:15

标签: javascript php jquery

我有以下代码:

<?php
    $dir_handle = 'assets/splashs/';
    foreach(array_diff(scandir($dir_handle), array('.', '..')) as $file) {
        echo '<img id="preload_header" src="assets/splashs/' . $file . '" /><br />';
    }
?>

我想知道是否可以检查图像是否成功加载,如果是,那么删除图像然后移动到下一个图像?

我的启动文件夹中有超过600张图片,我不希望600张图片只是坐在一边,但我希望它们在我在其他地方打电话时预先加载。

load image => successfully loaded => remove and onto next image
           => unsuccessfully loaded => remove image and stop

感谢您提前提供任何帮助。

1 个答案:

答案 0 :(得分:2)

这是预装图像的方式:

<script type="text/javascript">
if (document.images) {
    img1 = new Image();
    img1.src = "image.jpg";
}
</script>

因此,您不会加载和显示图像(<img src="....">),而是使用JavaScript将它们加载到浏览器中,这样您就不必“删除图像”,因为它们永远不会显示。

可以将ofc与foreach结合使用:

<script type="text/javascript">
if (document.images) {
    <?php
    $i = 0;
    foreach(array_diff(scandir($dir_handle), array('.', '..')) as $file) {
        echo 'img' . $i . ' = new Image();' . PHP_EOL;
        echo 'img' . $i . '.src = "' . $file . '";' . PHP_EOL;
        $i++;
    }
    ?>
}
</script>