用于检测图像加载时的本机JavaScript

时间:2012-01-29 15:19:48

标签: javascript html image preloader

我正在写一个JS'幻灯片'(这不是一个普通的幻灯片:图像变化很快,所以必须预先加载),我希望loader开启,而图像是{ {1}}。
为此,我想我需要检测每个图像的加载时间(有36个) 现在我通过将标签附加到幻灯片的主preloading来添加图像(并删除默认静态图像,没有JS看到的用户),但请告诉我你是否认为有更好的方法。
然后他们会向用户显示一个 是否有跨浏览器“原生”方式检测图像何时加载? 谢谢,StackOverflow!


我想我找到了一个可接受的解决方案on this site。 不过,如果你能指出任何错误或方法让脚本更好,我会很高兴的! 我确实看到他遗漏了所有div ......

2 个答案:

答案 0 :(得分:1)

使用image onload事件:

<img src="..." onload="foo()" />

答案 1 :(得分:1)

尝试这样的事情

<script type="text/javascript">
    <!--//--><![CDATA[//><!--
        var images = new Array()
        function preload() {
            for (i = 0; i < preload.arguments.length; i++) {
                images[i] = new Image()
                images[i].src = preload.arguments[i]
            }
        }
        preload(
            "http://domain.tld/gallery/image-001.jpg",
            "http://domain.tld/gallery/image-002.jpg",
            "http://domain.tld/gallery/image-003.jpg"
        )
    //--><!]]>
</script>