1

我想在页面加载时淡入图像,但如果该图像尚未在缓存中 - 只需正常显示即可。我试过内联html

<img onload="$(this).show(500)" />

和 css img{display:none},但即使此图像已经在缓存中,它也会触发。如何仅淡入不在缓存中的图像?

4

1 回答 1

2

这应该适用于所有相关的浏览器。

在 domready 上,缓存的图像complete已经存在,因此onload未设置处理程序。

$('img.fadeuncached').each(function() {
    if(!this.complete) {
        var $el = $(this);
        $el.load(function() { $el.fadeIn(500); });
    }
});
于 2013-11-03T17:56:12.313 回答