gpt4 book ai didi

jQuery IE 不会触发 load 事件

转载 作者:行者123 更新时间:2023-12-01 06:36:19 27 4
gpt4 key购买 nike

我在加载图像后显示图像时遇到问题。我想要的效果是在图像后面显示一个正在加载的 .gif,并在加载时将其淡入。以下代码适用于我通过 AJAX 加载的任何图像,但是在页面加载时我想要相同的效果。

$(function() {
$("#products img").hide().bind("load", function() {
$(this).fadeIn(300);
});
});

注意,这在除 IE 之外的所有浏览器中都能很好地工作(仅测试了 9 个)。据我了解,它不会触发 load 事件,因为图像已被缓存,或者图像在事件绑定(bind)之前已加载。我希望浏览器缓存图像,因此在图像 src 末尾添加日期/时间戳并不是真正的选择。

我可以说如果图像已经以某种形式加载,请显示它。否则隐藏它并在加载后淡入。 ?

编辑:我尝试设置一个 fiddle ,但它不太喜欢它。 Here it is anyway if it's helpful

编辑

如果有人感兴趣I've put up a quick js performance test对于这两个答案。 enter image description here
(来源:grabilla.com)

最佳答案

我也遇到了同样的问题,并这样解决:

 $("#products img").one('load.FadeIn', function () {
$(this).fadeIn(300);
});

$("#products img").trigger('load.FadeIn');

要么图像已经加载并淡入,要么我们手动触发事件。

关于jQuery IE 不会触发 load 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15108582/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com