淡化图像onload但不是缓存

时间:2013-11-03 17:45:39

标签: jquery html css image preload

我希望在加载时在我的页面上淡入图像,但如果此图像尚未存在于缓存中 - 只需正常显示即可。 我已经尝试了内联HTML

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

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

1 个答案:

答案 0 :(得分:2)

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

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

$('img.fadeuncached').each(function() {
    if(!this.complete) {
        var $el = $(this);
        $el.load(function() { $el.fadeIn(500); });
    }
});