$(document).ready()图像超时

Ben*_*ock 3 jquery events ready

使用jQuery时,在开始执行操作之前等待DOM准备就绪.我的问题是图像.

有时图像需要很长时间才能加载,而且通常根本不需要.所以我想ready()基本上有一个超时.它会等待5秒钟,如果这些选定的图像没有加载,它将运行该功能.

这可能吗?

wii*_*ifm 8

我想你可能已经将window.ready与window.onload混淆了

在window.onload

这是一个在页面加载完成后将触发的事件.因此,此功能将不适合您,因为您需要等待所有图像完成下载(或超时)

的document.ready

这是一个在DOM准备好后将触发的事件.这是当浏览器实际构建页面但仍可能需要抓取一些图像或Flash文件时.此功能将是您所追求的,因为在下载所有图像之前,DOM已准备好进行操作.

您可以在此功能中设置一个计时器等待5秒钟,然后检查您是否已下载所述图像

进一步阅读

示例代码:

<script>
    $(document).ready(function() {
        var imagesLoaded = false;
        var imagesTimer = setTimeout("alert('images failed to load')", 10000);

        $("img.checkme").load(function(){
            imagesLoaded = true;
            clearTimeout(imagesTimer);
            alert('images loaded within 10 seconds')
        });
    });
</script>
Run Code Online (Sandbox Code Playgroud)