在普通的web页面当中,我们都知道图片懒加载可以提升浏览器的加载速度。原理是图片用空或者占位图片进行显示,当屏幕移动到图片位置的时候,再把图片的地址换成它的地址。那么,在小程序当中呢,最近老大让看一下微信小程序的优化方面,图片是很吃资源的一项,所以我把矛头指向了懒加载:

首先写代码之前一定要理清楚思路,我想的基础是懒加载的思路,首先设立一个数组都为false,让图片的高度和屏幕滚动的高度进行比较,当到达这个点的时候,数组里面对应的false变成true。当数组的false变成true的时候,我们让图片进行显示就可以啦。当然,首先我们需要判断一下首屏能容纳多少个图片,然后把他们显示出来。好,上代码:

wxml:

<view><image wx:for="{{imgUrls}}" wx:key="item" src="{{arry[index] ? imgUrls[index].url: './../../img/index.gif'}}" class="{{arry[index] ?'Action':''}}"></image>
</view>

wxss:

image {opacity: 0;width: 100%;height: 300px;transition: opacity 0.4s linear 0.4s;
}.Action {opacity: 1;
}

js:

data: {damoHeight: '150',//demo高度imgUrls: [//图片地址{url: 'http://g.ydbcdn.com/site/imgs/1.png'}, {url: 'http://g.ydbcdn.com/site/imgs/2.png'},{url: 'http://g.ydbcdn.com/site/imgs/3.png'}, {url: 'http://g.ydbcdn.com/site/imgs/4.png'}],arry: [false, false, false, false],},onPageScroll: function (res) {var _this = this;var str = parseInt(res.scrollTop / _this.data.damoHeight);_this.data.arry[str] = true;_this.setData({arry: _this.data.arry})},/*** 生命周期函数--监听页面加载*/onLoad: function (options) {let _this = this;let num = Math.ceil(wx.getSystemInfoSync().windowHeight / 300);for (let i = 0; i < num; i++) {_this.data.arry[i] = true;};this.setData({arry: _this.data.arry})},

微信小程序实现图片懒加载相关推荐

  1. 微信小程序之图片懒加载

    数据都是死的,复制即可查看效果 实现原理: 通过onPageScroll() 方法返回的e.scrollTop值与手机窗口宽高进行计算,较完美的解决了等高或均高图片序列的图片懒加载. 关于图片高度:图 ...

  2. 小程序之图片懒加载[完美方案,你不来看看?]

    效果图 既然来了,把妹子都给你. 定义 懒加载,前端人都知道的一种性能优化方式,简单的来说,只有当图片出现在浏览器的可视区域内时,才设置图片正真的路径,让图片显示出来.这就是图片懒加载. 实现原理 监 ...

  3. 微信 html自动加载js,微信小程序实现图片预加载组件

    网页中的图片预加载 图片预加载对图片画廊及图片占据很大比例的网站来说十分有利,它保证了图片快速.无缝地发布,也可帮助用户在浏览你网站内容时获得更好的用户体验.我们知道在 Web 页面中实现图片的预加载 ...

  4. 小程序图片懒加载放在服务器,【小程序】使用uni-app搭建小程序环境---图片懒加载...

    延迟加载的理念:页面初始化时,暂不加载处于屏幕可见区域之外的图片.该方案会有如下几大好处:\n加快页面渲染速度 \n提升页面滚动性能 \n默认不下载屏幕外的图片,减少网络流量 主标题 列表二级标题 e ...

  5. 微信小程序image图无法加载出来的解决办法(亲测有效)

    在微信小程序中,第一次加载页面时图片(线上图)加载不出来/图片灰色背景显示,这个时候该如何解决这个问题呢?请带着问题查看这篇博客,希望对您有所帮助(点赞skr) 看官方文档? 自行解决? 写在前面(初 ...

  6. 微信小程序中使用wxss加载图片并实现动画

    微信小程序中使用wxss加载图片并实现动画 记录微信小程序中使用wxss加载图片并实现动画的方式,最终实现loading效果. 代码 .weui-loading { margin: 0 5px; wi ...

  7. 【微信技术-微信小程序】------- 骨架屏(加载流)配置(skeleton-config)及属性详解 (第三篇)

    本篇文章是骨架屏(skeleton)配置及属性详解(第三篇) 第一篇文章:[微信技术-微信小程序]-------骨架屏(加载流) 简单入门(第一篇) 第二篇文章:[微信技术-微信小程序]------- ...

  8. 分享下自己写的一个微信小程序请求远程数据加载到页面的代码

    分享下自己写的一个微信小程序请求远程数据加载到页面的代码 1  思路整理 就是页面加载完毕的时候  请求远程接口,然后把数据赋值给页面的变量 ,然后列表循环 2 js相关代码  我是改的 onload ...

  9. 微信小程序开发动感十足的加载动画--都在这里!

    微信小程序开发动感十足的加载动画--都在这里.jpg 1. 概述 我们在学习微信小程序时,应该会遇到载入图片或者动画需要等待的情况,那么这个等待的画面我们应该怎么编写呢?今天我们就分享这样的小教程. ...

  10. 微信小程序体验版数据加载不了,打开调试模式下才行(在微信开发者工具上也能加载数据)

    记一次微信小程序体验版数据加载不了的解决过程(请求不到数据),供大家参考: 注:域名已经备案.https已经配置.ssl证书在1.2以上版本.小程序后台已经配置服务器域名 注:域名已经备案.https ...

最新文章

  1. 用鸿蒙跑了个 “hello world”!鸿蒙开发初体验
  2. (74)Verilog HDL系统函数和任务:$readmemb
  3. 从新获取jar_SpringBoot配置文件放在jar外部
  4. 对付ring0 inline hook
  5. 图像处理_OpenCV图像增强算法实现(直方图均衡化、拉普拉斯、Log、Gamma)
  6. class在java中_class在java里是什么意思
  7. Tomcat服务器修改默认端口号
  8. Pandas DataFrame merge join concat append combin_first 使用demo
  9. 【嵌入式工程师常用网站】
  10. python解二元一次方程组 迭代法_解二元一次方程组多种方法
  11. 2021-05-18 C#.NET面试题 一张长方形的桌面上放n个一样大小的圆形硬币。这些硬币中可能有一些不完全在桌面内,也可能有一些彼此重叠;当再多放一个硬币而它的圆心在桌面内时,新放的硬币便必定与
  12. 生产制造业ERP管理系统财务管理解决方案
  13. OpenGL纹理详解
  14. linux桌面版安装输入法,Debian KDE桌面安装五笔和拼音输入法
  15. 超声影像对2010 ACR/EULAR RA分类标准的影响: 结合两种不同的受累关节灰阶滑膜炎超声定义的分类标准...
  16. GitHub页面接管并利用-子域名接管
  17. python数据处理7: matplotlib绘图保存图片深入
  18. 分享一个做简历的网站
  19. Qt QString().sprintf(“%x“)解决打印无符号十六位数
  20. 关于CreateProcess的问题

热门文章

  1. csf文件怎么打开播放(电脑csf文件怎么打开播放)
  2. u2000网管服务器系统安装,华为U2000安装
  3. CDN技术--分布式网站架构必备利器
  4. php 连接timesten,timesten常见的一些简单问题
  5. 网易面试总结(2014.12.31)
  6. 计算机四级网络工程师复习提纲
  7. 06.个人作业——软件产品案例分析
  8. 软件测试基础-概念(视频教程)
  9. 路由与交换技术(复习知识点-全)
  10. 关于“ 解决对COM组件的调用返回了错误HRESULT E_FAIL” 的方法