Javascript jQuery等待加载动态图像

Javascript jQuery等待加载动态图像,javascript,jquery,html,Javascript,Jquery,Html,所以我有一个页面,可以根据用户的请求动态加载图像,基本上,当他们点击一个按钮时,会弹出一个随机图像。我想找到一种方法隐藏图像,直到它完成加载,然后再次显示。我曾尝试使用jQuery的$(window).load()函数来执行此操作,它对第一个图像非常有效,但当我加载下一个图像时,事件不会再次触发。是否有其他方法来执行此操作,或者重置load()事件?谢谢 注意:所讨论的图像是相当大的动画GIF,但它们非常大,有些只需几分钟即可加载,有些则可能需要20秒。使用CSS隐藏图像并收听每个图像的加载事件

所以我有一个页面,可以根据用户的请求动态加载图像,基本上,当他们点击一个按钮时,会弹出一个随机图像。我想找到一种方法隐藏图像,直到它完成加载,然后再次显示。我曾尝试使用jQuery的$(window).load()函数来执行此操作,它对第一个图像非常有效,但当我加载下一个图像时,事件不会再次触发。是否有其他方法来执行此操作,或者重置load()事件?谢谢


注意:所讨论的图像是相当大的动画GIF,但它们非常大,有些只需几分钟即可加载,有些则可能需要20秒。

使用CSS隐藏图像并收听每个图像的加载事件:

<img style="display: none" class="loadedImage" src="..." />

$(function(){
    $(".loadedImage").live("load", function(){
        $(this).show();
    });
});

$(函数(){
$(“.LoadeImage”).live(“加载”,函数(){
$(this.show();
});
});

它被称为延迟加载,并且有一个特定的方法。

我有一个方法可以帮助解决这个问题

$('#newly-loaded-element').hide().waitForImages(function() {
    $(this).show();
});

这是可能的,但您需要向我们展示您正在使用的代码,以便我们提供建议。我从
.live()
文档中了解到,
.live()
不适用于加载事件。它仅适用于文档中出现气泡的某些类型的事件。请参阅此处的“注意事项”部分:。谢谢。我不知道。我本来想编写简单的“.load()”但是因为我不太确定动态加载的图像意味着什么(标记是否已经存在,只有src在更改还是什么),我插入了
.live()
,如果图像src属性之后被更改以使用相同的标记加载新图像,这个插件会工作吗?@guub No,更新
src
属性后,需要再次调用它。