我在电子商务网站上使用了lazyload()。 lazyload()效果很好。我使用以下代码来做到这一点:

$(function(){
  $("img.lazy").lazyload({
  effect : "fadeIn"
          });
});

也有一些过滤器,如颜色,价格等,运行一个ajax并显示新结果。当出现新结果时,lazyload()不起作用。我知道我必须将lazyload()与live(),delegate()或on()结合使用。但是我是jquery的新手,但我做不到。谁能帮我吗?我的jquery版本是1.7.2,我们可以使用on()。

最佳答案

注意:在接受此答案时,此方法有效。延迟加载插件已更改,现在已损坏。我不能不接受答案,也不能删除它。

还有另一项问答,建议将其作为AJAX请求的一部分处理,以负责插入其他DOM:

Binding image lazy loading to new images inserted after ajax request

但是,这就是我的方法:

$(document).on('DOMNodeInserted', 'img.lazy', function() {
    $(this).lazyload({
        effect: 'fadeIn'
    });
});

演示:jsfiddle

10-06 12:42