javascript - 在 jQuery 中等待所有图像加载的更有效方法

标签 javascript jquery image dom

我正在混合使用 .ready().load()执行我想要的功能。

jQuery(document).ready(function($) {
    $("img").load(function() {
        // Function goes here
    });
});

如您所见,这会等待 DOM 准备就绪,然后在每个 <img> 上加载,它执行代码。

如果我只有一张图片要加载,这会很简单。

但问题是——如果我要加载10 张图片 怎么办?该函数将被调用 10 次,因为每张图片都会一张一张地加载,这并不是一种非常有效的方法来实现我想要的。

那么问题来了 -- 是否有更有效的方法来等待所有图像加载完毕,然后执行一次函数

最佳答案

你可以做这样的事情来避免你的函数运行多次。

jQuery(document).ready(function($) {
    var nrOfImages = $("img").length;
    $("img").load(function() {
        if(--nrOfImages == 0)
        {
            // Function goes here
        }
    });
});

关于javascript - 在 jQuery 中等待所有图像加载的更有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18217483/

相关文章:

javascript - 将鼠标悬停在两个 DIV 上

javascript - TypeError : func. apply 不是函数

Javascript/Jquery - 定位最接近的相关 block 以在类似卡片流中显示内容

excel - 在用户表单中旋转图片

android - 在android中合并两个png文件

javascript - 我的 Vue 对象不是响应式的。它可以在本地运行,但不能在托管服务器上运行

javascript - Knockoutjs 无法解析绑定(bind)。消息: SyntaxError: Unexpected token };

javascript - 在 javascript 中获取 $_REQUEST ['' ] 值

javascript - 调整窗口大小时,Bootstrap Modal 被隐藏

ios - 在 Core Data + iCloud 中保存图像 - Swift