当前位置: 首页 > 面试题库 >

检查是否使用jQuery加载了图片(没有错误)

东郭宏朗
2023-03-14
问题内容

我正在将JavaScript与jQuery库一起使用,以操作无序列表中包含的图像缩略图。加载映像后,它会做一件事;发生错误时,它会做其他事情。我正在使用jQuery
load()error()方法作为事件。
在这些事件之后,我检查图像DOM元素中的.complete,以确保在jQuery可以注册事件之前尚未加载图像。

它正常工作,除非在jQuery可以注册事件之前发生错误。 我能想到的唯一解决方案是使用img
onerror属性在全局某处(或在其自身的节点上)存储“标志”,该标志表示失败,因此jQuery在检查.complete时可以检查该“存储/节点”。

有人有更好的解决方案吗?

编辑:加粗要点,并在下面添加额外的细节: 我正在检查图像是否完整(也称为加载),之后在图像上添加了加载和错误事件。这样,
如果图像是在事件注册之前加载的,我仍然会知道。
如果在事件之后未加载图像,则事件将在事件发生时对其进行处理。问题是,我可以轻松检查图像是否已经加载,但是 我不能确定是否发生错误。


问题答案:

另一种选择是通过创建内存图像元素并将其属性设置为原始图像的原始属性来触发onload和/或onerror事件。这是我的意思的示例:src``src

$("<img/>")
    .on('load', function() { console.log("image loaded correctly"); })
    .on('error', function() { console.log("error loading image"); })
    .attr("src", $(originalImage).attr("src"))
;

希望这可以帮助!



 类似资料:
  • 问题内容: 我正在尝试检查Jquery库是否已加载到HTML页面上。我正在检查它是否有效,但是有些不正确。这是我所拥有的: 问题答案: 事情不对 好吧,您正在使用jQuery检查jQuery是否存在。如果未加载jQuery,则根本不会运行,并且回调也不会执行,除非您正在使用另一个库,并且该库碰巧共享相同的语法。 删除您的(使用类似方法):

  • 我有以下型号: 在另一个图书馆服务的方法: 只有在启用延迟加载时,它才能正常工作: 如果未启用延迟加载,则不填充用户属性。我想抛出一个异常,如果有人试图使用我的服务没有启用延迟加载。怎么做呢?我试图检查属性

  • 问题内容: 我想在body标签上设置背景图片,然后运行一些代码-像这样: 如何确定背景图像已完全加载? 问题答案: 尝试这个: 这将在内存中创建新映像,并使用load事件检测何时加载src。

  • 我正在写一个带有纹理的webgl程序。 只要图像没有加载,纹理2D-函数就会返回一个vec4(0.0, 0.0, 0.0, 1.0)。所以所有对象都是黑色的。 所以我想检查一下,我的取样器2D是否可用。 我已经尝试过: 但这当然没有意义,因为纹理可能是黑色的。 有人能帮我吗?我如何检查,我的纹理图像是否已经加载到片段着色器中?

  • 问题内容: 我的页面上有几个画廊,包括手风琴和滑杆。问题是页面需要永久加载。有没有一种方法可以将图像包装在一些代码中或对它应用类以强制仅在加载所有其他内容之后才加载它? 问题答案: 你当然可以。将您的img src属性替换为“#”,然后添加一个自定义属性,如下所示: 然后,在页面加载时添加一条JavaScript行,该行的内容如下所示:

  • 问题内容: 有谁知道如何检查jquery是否已加载(使用javascript),然后再加载(如果未加载)。 就像是 问题答案: 也许是这样的: