ajax每次只加载3张图片,ajax+lazyload.js,如何只让新加载出来的元素lazyload呢?

在实现滚动无限加载和图片懒加载效果时,遇到一个问题:每次加载新图片,所有图片都会重新淡入,导致页面闪烁。问题出现在Ajax成功后再次执行了懒加载,使得所有class为'lazy'的图片被重新处理。寻求解决方案以避免图片不必要的重复加载和闪烁,提高用户体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

现在在做一个滚动无限加载+图片淡入懒加载的图片列表效果,基本上效果是实现了,

但是有一个问题,就是每当加载出新图片之后,因为ajax成功返回数据后为了让新图片有懒加载效果,所以又执行了一次懒加载(如下代码),但这样却导致之前的旧图片(全部class="lazy"的图片)也重新执行了一次lazyload,致使现在每加载一次新数据,页面中的全部图片都淡入闪现一次,每加载一次就全都闪一次,体验很不好啊……

有没有什么解决办法呢?

$.ajax({

url:"__APP__/Goods/getMore",

type:"post",

data:dataString,

async:false,

dataType:"json",

success:function(msg){

var str ='

'+msg.mainPicture+'
';

//新图追加到列表中

$('#list_pubu').append(str);

$("img.lazy").lazyload({

effect:'fadeIn' //懒加载淡入

})

}

})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值