加载多个图像时回调的跨浏览器解决方案?

2023-12-08

我检查了其他问题,但它们都包含如何在加载一张特定图像时进行回调的信息:

var img = new Image();
img.src = "images/img.png";
if (!img.complete) {
    img.onload = function() {
        // code to be executed when the image loads
    }
}

或者简单检查是否所有图像都加载了“if”语句。另外, $(window).load (或 onLoad 或其他)不起作用。

就我而言,我正在加载两个图像:

var img1 = new Image();
var img2 = new Image();
img1.src = 'images/img1.png';
img2.src = 'images/img2.png';

如何定义与第一个示例中的回调类似的回调,但它会在两个图像加载完成时执行?

感谢您的时间。


这是一个函数,它将创建多个图像并在它们全部加载时调用回调:

function createImages(srcs, fn) {
   var imgs = [], img;
   var remaining = srcs.length;
   for (var i = 0; i < srcs.length; i++) {
       img = new Image();
       imgs.push(img);
       img.onload = function() {
           --remaining;
           if (remaining == 0) {
               fn(srcs);
           }
       };
       img.src = srcs[i];
   }
   return(imgs);
}

var imgs = createImages(['images/img1.png', 'images/img2.png'], myCallback);

附:每当与.onload对于图像,您必须设置.onload设置之前的处理程序.src值,因为如果图像位于缓存中,则设置 .src 值时 onload 处理程序可能会立即触发。如果您没有先设置 onload 处理程序,那么它可能永远不会触发,因为当您设置处理程序时,图像已经加载。在某些浏览器中会发生这种情况。只是总是设置.onload before .src如果您需要 onload 事件。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

加载多个图像时回调的跨浏览器解决方案? 的相关文章

随机推荐

  • 如何订阅通过@angular/cdk/portal注入的组件的Observable?

    我正在尝试实现一个基本的 非常基本的 模式实现 我有一个ModalService and a ModalComponent The ModalService创建一个实例ModalComponent并使用 angular cdk portal
  • 验证 Azure Active Directory 中是否存在用户帐户

    我需要遵循一些业务规则 从 ASP NET Core 2 应用程序向用户发送电子邮件 但是 我需要确保电子邮件发送到的帐户确实存在 由于某种原因 该帐户可能不再有效 客户正在使用 Azure Active Directory 因此我需要以某
  • 使用索引替换值 [R]

    我正在尝试使用索引来识别哪些行要根据另一个 DF 的联接创建新列 使用索引时我无法执行 match df1 lt data frame A c A C E B c 1 3 5 df2 lt data frame A c A C E C c
  • 确定 C 中动态分配内存的大小

    C 有没有办法找出动态分配的内存的大小 例如 之后 char p malloc 100 有没有办法找出与相关的内存大小p 没有找到此信息的标准方法 然而 一些实现提供了类似的功能msize去做这个 例如 msize在 Windows 上 m
  • Selenium WebDriver - 没有驱动程序适合我

    我正在尝试运行 Selenium 测试 我正在使用 C 我尝试过的每个驱动程序都存在问题 Chrome var options new OpenQA Selenium Chrome ChromeOptions options BinaryL
  • 解压缩 gzip 压缩的 http 响应

    我正在使用 phpfile get contents 函数执行 HTTP 请求 为了节省带宽 我决定添加 Accept Encoding gzip 标头使用stream context create 明显地 file get content
  • NSURLConnection 下载多张图片

    我正在尝试从 XML 提要中存储的 URL 下载多个图像 从 XML 获取图像 url 工作正常 但是 NSURLConnection 正在创建空文件 但数据已按照 NSLog 中的说明接收 在connectionDidFinishLoad
  • 有条件地反应渲染 JSX

    这里我创建一个局部变量persons在 的里面App类然后分配一个JSX根据某些条件传递给它 然后传递它 persons 里面render method let persons null if this state showPerson p
  • php 检测 mime 类型失败

    我有以下 PHP 代码 显示上传文件的 mime 类型
  • PHP 运算符“?”是什么?和“:”调用,它们做什么?

    什么是 and PHP 中的运算符 例如 request type SSL HTTPS SERVER HTTP SERVER 这是条件运算符 x y z 意思是 如果 x为真 则使用 y 否则使用 z 它也有一个简短的形式 x z 意思是
  • DBase7 中的时间戳

    我正在尝试从 dbf 文件读取 DBase 7 时间戳值 从 DBase 格式规范我得到以下信息 8 个字节 两个长整型 第一个用于日期 第二个用于时间 该日期是自 01 01 4713 BC 以来的天数 时间为小时 3600000L 分钟
  • Java Firestore Android 在查询中使用数组列表来显示关注用户的帖子

    我正在开发一项活动 显示用户关注的用户的帖子 对于帖子 我使用了以下结构 root posts collection uid documents userPosts collection postId documents title Pos
  • Python OSError:SFTP 失败

    我正在 Windows 11 笔记本电脑上测试 SFTP 通信 SFTP 服务器在 localhost 3373 上运行 一个sftp get请求生成一个 操作系统错误 失败 此代码错误 import pysftp remotepath C
  • 即使我声明了 Main 方法也未找到

    我想创建一个带有 main 方法的简单 java 类 但是当我编译代码时 我收到以下错误消息 错误 在类错误中找不到主方法 TestErrors 请定义 主要方法为 public static void main String args 这
  • 多个数据库连接和 Yii 2.0

    我有两个数据库 每个数据库都有相同的表和相同的字段 但是如何同时从所有两个数据库中获取所有记录Yii 2 0 首先 您需要配置数据库 如下所示 return components gt db1 gt class gt yii db Conn
  • jqGrid 列选择器对话框可调整大小,但调整大小时内部内容不会在调整大小时拉伸

    我使用 jqGrid 和 ui multiselect js 进行列选择和重新排序 出现的对话框可以调整大小 但调整大小时 对话框的内容不会调整大小 你必须参加任何活动才能做这些事情吗 你是对的 目前 这是列选择器中的问题 最好在代码中进行
  • Android Volley:POST 请求 - NodeJS REST API 内的 req.body 为空

    我知道它已经被讨论了十亿次 而且我已经阅读了几个问题 答案 特别是这个似乎是一个很好的例子 gt example 所以现在我尝试重新创建代码并添加我的getParams 以及我的getHeaders 尴尬的是我得到了 HTTP 状态代码 4
  • 如何在php中获取选择框的多个选定值?

    我有一个 html 表单 其中有一个选择列表框 您可以从中选择多个值 因为它的 multiple 属性设置为 multiple 考虑表单方法是 GET 表单的html代码如下
  • 从父级中删除多个子级?

    我有一堆同名的元素 我试图用 onchange 函数同时删除它们 这是 JavaScript 甚至不确定removeChildren是否是一个真正的命令 我的元素是给onchange操作
  • 加载多个图像时回调的跨浏览器解决方案?

    我检查了其他问题 但它们都包含如何在加载一张特定图像时进行回调的信息 var img new Image img src images img png if img complete img onload function code to