2

我无法想象这是如何开始发生的,几个月来一直运行良好......

http://www.lizhess.com/shop/

在 chrome/ff 中观看您的网络标签 - 它在页面上一秒钟后加载 250 多个图像请求......它说 jquery 启动这些请求......

就好像 LL 中的某些东西对哪些图像是可见的感到困惑……我尝试了很多选择都无济于事。

使用这个 LL: http: //www.appelsiini.net/projects/lazyload 并使用这个代码:

jQuery("img.lazy").lazyload({
effect: "fadeIn",
  effectspeed: 200,
  failure_limit: Math.max(jQuery("img").length - 1, 0)
});

有任何想法吗?

4

2 回答 2

3

好像是这样的event设定。默认情况下,它设置为scroll,看起来它会在滚动时加载所有图像。

如果你这样做,在控制台中:

jQuery('img.lazy').attr('src', ''); //Reset the images
jQuery('img.lazy').lazyload({event: 'hover'}); //Rebind our own

您会注意到它现在在悬停时可以正常工作。所以我相信这只是scroll导致问题的事件。奇怪的是,我相信threshold设置应该解决这个问题,但我从未使用过该插件,所以我不完全确定。

不过,我希望这至少可以为您指明正确的方向,并且您可以更改事件,或者错开img您lazyLoad 的哪些元素。

更新

如果您对揭开插件(在控制台中)执行类似的操作,它实际上似乎可以正常工作(在 Firefox 中,没有占位符):

jQuery('img.lazy').attr('src', '');
jQuery('img.lazy').unveil(); //Images will now load as they are scrolled to

所以也许你可以尝试推迟公布的电话。

于 2013-05-29T21:47:55.413 回答
2

托波拉

当页面加载时,您的图像很可能都在视口中。例如,当 HTML 未设置图像的尺寸时,就会发生这种情况。

这对我来说是个问题。必须为图像设置最小尺寸,以便它们在加载之前不都是 0px 高。

于 2020-06-13T17:01:39.367 回答