当前位置:   article > 正文

微信小程序实现图片懒加载_微信小程序加载图片

微信小程序加载图片

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

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

wxml:

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

 wxss:

  1. image {
  2. opacity: 0;
  3. width: 100%;
  4. height: 300px;
  5. transition: opacity 0.4s linear 0.4s;
  6. }
  7. .Action {
  8. opacity: 1;
  9. }

js:

  1. data: {
  2. damoHeight: '150',//demo高度
  3. imgUrls: [//图片地址
  4. {
  5. url: 'http://g.ydbcdn.com/site/imgs/1.png'
  6. }, {
  7. url: 'http://g.ydbcdn.com/site/imgs/2.png'
  8. },
  9. {
  10. url: 'http://g.ydbcdn.com/site/imgs/3.png'
  11. }, {
  12. url: 'http://g.ydbcdn.com/site/imgs/4.png'
  13. }
  14. ],
  15. arry: [false, false, false, false],
  16. },
  17. onPageScroll: function (res) {
  18. var _this = this;
  19. var str = parseInt(res.scrollTop / _this.data.damoHeight);
  20. _this.data.arry[str] = true;
  21. _this.setData({
  22. arry: _this.data.arry
  23. })
  24. },
  25. /**
  26. * 生命周期函数--监听页面加载
  27. */
  28. onLoad: function (options) {
  29. let _this = this;
  30. let num = Math.ceil(wx.getSystemInfoSync().windowHeight / 300);
  31. for (let i = 0; i < num; i++) {
  32. _this.data.arry[i] = true;
  33. };
  34. this.setData({
  35. arry: _this.data.arry
  36. })
  37. },

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/321294
推荐阅读
相关标签
  

闽ICP备14008679号