【问题标题】:Can't get LazyLoad and onerror to work together on an image无法让 LazyLoad 和 onerror 在图像上一起工作
【发布时间】:2014-07-08 08:39:02
【问题描述】:

我的页面上有一些图片:

<img src="http://www.abc/images/abc.jpg" />

如果图像无法加载(例如,abc.jpg 不存在),那么我会显示一个“默认”图像:

<img src="http://www.abc/images/abc.jpg" onerror="this.src='http://www.abc/images/default.jpg'" /> 

如果我将LazyLoad 添加到我的图像并加载更轻量级的默认图像,它将变为:

<img
    class="lazy"
    data-original="http://www.abc/images/abc.jpg"  
    src="http://www.abc/images/graydefault.jpg"
    onerror="this.src='http://www.abc/images/default.jpg'" /> 

现在,当页面加载时,它会先加载轻量级图像,然后再加载实际图像。

但是如果实际图像不存在怎么办?轻量级默认图像将保留在那里,但这不是我想要的:

如果出现错误,如何加载我的默认图片 (default.jpg)?

PS:默认图片很重,所以我想避免将其加载为默认图片。

【问题讨论】:

  • 应该是&lt;img src=...
  • @MinNaingOo 不明白你吗?
  • 应该是 &lt;img src=... 。不是&lt;img scr=...
  • 尝试延迟加载 xt plugins.jquery.com/lazyloadxt,它支持可选的错误处理程序。
  • @MinNaingOo 谢谢哥们,但在代码中输入错误,我是用户 SRC :)

标签: html image onerror jquery-lazyload


【解决方案1】:

在lazyload js 中使用“出现”选项。在延迟加载js中使用以下代码进行错误图像src加载

appear: function(ele,settings)
{
    $(ele).attr("src",$(ele).attr("data-original"));
}

当图像在视口中可用时,此函数将 src 替换为 data-original。如果未加载数据原始图像 url,则加载错误图像。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-12
    • 2021-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多