我正在检查是否加载了不使用imagesloaded库的图像,如果图像无法加载,那么我将用“data-src”替换“src”。基本上我的html结构如下。
<img id="pics-image-0-1" src="URL1" data-src="URL2" owidth="137" style="visibility: visible; margin-left: -4px; width: 137px;">
<img id="pics-image-0-2" src="URL1" data-src="URL2" owidth="137" style="visibility: visible; margin-left: -4px; width: 137px;">
我使用了如下加载的图像
jQuery("img[id^='pics-image-0").imagesLoaded()
.progress(function (instance, image) {
var imgId = image.img.id;
if (image.isLoaded) {
//display the image.
} else{
// replace src with data-src
}
});
在上面的代码中,当我知道 URL1 已损坏时,我将 src 替换为 data-src。
但有时由于服务器负载过重,如果 URL1 的服务速度非常慢,那么我希望如果 URL1 无法在 20 秒内加载,则将 src 替换为 data-src。
为此,我正在考虑一个独立的功能,它将在 20 秒后完成。但我的问题是这会是个好方法吗?在运行时修改延迟对象是否可以。
我试图在 imagesloaded.js 上编写包装器以满足我的要求,但没有运气。
我还尝试了https://github.com/darsain/imagesloaded(不同版本),但没有按预期工作。
谁能建议如何解决上述问题?使用独立函数替换 url 可以吗?