Lazy Load和Mix It Up插件的问题

时间:2014-10-17 19:34:13

标签: javascript lazy-loading mixitup

我的延迟加载目标定位有问题。 每次我过滤我的列表(使用Mix It Up插件)时,我的图像都不会在滚动时加载,因为LazyLoad的目标是旧的定位。

如何强制Lazyload正确定位我的图片?

2 个答案:

答案 0 :(得分:2)

旧的jquery lazyload实际上并不适用于动态网页。通常,插件仅检查用户滚动。此外,它还存在运行时性能和内存管理方面的一些缺陷。

我创建了一个lazyloader,它与所有其他lazyloader完全不同:它使用a)高效代码和b)自动检测当前和未来DOM元素的任何可见性更改。

这是一个带有mixitup的简单演示: http://codepen.io/aFarkas/pen/wByKeL

您需要做的就是添加lazySizes script并编写以下标记:

<img data-src="img.jpg" class="lazyload" />

答案 1 :(得分:1)

一种选择可能是使用MixItUp的回调功能。这是MixItUp文档https://mixitup.kunkalabs.com/docs/#group-callbacks。我使用onMixEnd来调用我的延迟加载功能。这应该确保在延迟加载功能接管之前所有图像都在正确的位置。

$(document).ready(function () {
    $('.container').mixItUp({       
        callbacks: {
            onMixEnd: function () {
                $("img.lazy").lazyload();       
            }
         }
     });
 });