1

我正在检查是否加载了不使用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 可以吗?

4

0 回答 0