使用http和lazyload加载图片大概效果能实现,不过由于延迟加载有的图片被加载了两次,有的图片加载不了

使用http和lazyload加载图片大概效果能实现,不过由于延迟加载有的图片被加载了两次,有的图片加载不了

clipboard.png

clipboard.png

我用本地json来模拟数据的,如下图

clipboard.png

阅读 3.4k
2 个回答

答案找到了,我的pageIndex应该是httpRequest请求成功之后再++,而不是在document.onscroll函数里面++,这样保证数据加载成功再调用它,就不会引起加载图片错乱了。

可能是循环内多次调用了$('img').lazyload()导致错乱了。

当for循环结束、img标签都生成完毕后,再调lazyload()

for (...) {
    ...
}
$('img').lazyload(); // 操作所有img集合,为页面上每个img标签调lazyload()

如果还是想放里面的话:

for (...) {
    ...
    $(oImg).lazyload(); // 操作本次循环的单个img
    
}

希望对你有帮助。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题