• 微信小程序的图片懒加载


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

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

    .wxml:

    <!--pages/test/test.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:

     

    /* pages/test/test.wxss */
    
    image {
      opacity: 0;
       100%;
      height: 300px;
      transition: opacity 0.4s linear 0.4s;
    }
    
    .Action {
      opacity: 1;
    }
    

      .js:

    Page({
      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 () {
        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
        })
      }
    })
    

      不会的可以加博主进行一起探究

  • 相关阅读:
    jmeter处理加密接口
    jmeter的环境配置
    jmeter的一些知识目录
    monkey 基本用法
    python3.6连接数据库 小微工作笔记
    jenkins 配置任务
    HTTP 状态大全
    【Codeforces】894E.Ralph and Mushrooms Tarjan缩点+DP
    【Codeforces】894D. Ralph And His Tour in Binary Country 思维+二分
    【Codeforces】879D. Teams Formation 思维+模拟
  • 原文地址:https://www.cnblogs.com/mmykdbc/p/8932202.html
Copyright © 2020-2023  润新知