图片滚动懒加载

MonkeyEye(电影售票系统)项目地址:https://github.com/SYSUMonkeyEye/MonkeyEye-FE

为什么要实现图片懒加载呢?

首先,来看一下应用的首页(左一):

​ 其中下方是无限加载的列表,想象一下,假如列表中的所有图片一次性加载,将会是什么情况?展示图片的地方将会一片空白,用户体验差,同时由于浏览器并发连接数量的限制,不是所有的图片都能第一时间加载。

​ 由于用户打开网页的时候,只会关心可视界面内的图片,因此其他图片可暂时用同一张图片代替,等页面滚动的过程中,图片进入至可视界面时,再向服务器发出资源请求。这样既可以快速加载图片,带来良好的用户提样,同时由于不可见的图片不会第一时间加载,能够节省许多流量。

​ 这里就不展示代码,具体谈谈实现的步骤:

  1. <img>标签中插入指令,当监测到指令插入标签时,我们判断这张图片是否需要懒加载。有两种情况,一是图片还没有到达可视区域,二是图片已经加载。

  2. 当页面加载时,监听图片列表的scroll事件,判断哪些图片可以进行懒加载。这里要注意的是,相同的图片加载一次后,再次出现时可以直接从浏览器缓存中取出,不用再向服务器发送请求。

  3. 当页面即将销毁时,要释放页面引用的资源,将当前页面的所有事件监听器销毁。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 原文链接 图片一直是网络资源占用大户,对于一个前端有几百张图片的网站来说,如果首屏即加载所有图片(无论这些图片有没...
    LowesYang阅读 509评论 1 7
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,558评论 25 708
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,255评论 4 61
  • 刚刚我父亲突然对我说,等你以后有了孩子,我就在家里帮你带孩子吧。 我有些愣神。记忆中的父亲并不是个喜欢小孩子的人,...
    三素槿阅读 380评论 0 0
  • 如果你一个人也能过得充实快乐的时候,婚姻于你来说就不是牢笼,而是两个成熟灵魂之间的爱情合唱。而当你能用知识和阅历把...
    爱晚睡阅读 1,715评论 3 7