• 微信小程序瀑布流布局


    wxml文件

    <view class="container">
      <view class="left-item">
        <view class="item"></view>
      </view>
       <view class="right-item">
        <view class="item"></view>
      </view>
    </view>

    js文件

    let leftHeight = 0, rightHeight = 0; //分别定义左右两边的高度
    let query;
    
    page({
       data:{
          list: [],    //通过接口获取的数组
          leftList:[],     //左边数组
          rightList:[],    //右边数组
       },
    
       //瀑布流布局
      async waterfallFlow(){      //在获取list后调用
        const {list,leftList,rightList} =this.data;
        query = wx.createSelectorQuery();
        for (let item of list) {
          leftHeight <= rightHeight ? leftList.push(item) : rightList.push(item); //判断两边高度,来觉得添加到那边
          await this.getBoxHeight(leftList, rightList);
         }
    
      },
      getBoxHeight(leftList,rightList){
        return new Promise((resolve,reject)=>{
          this.setData({ leftList, rightList });
          query.select('.left-item').boundingClientRect();
          query.select('.right-item').boundingClientRect();
          query.exec((res) => {
           leftHeight = res[0].height; //获取左边列表的高度
           rightHeight = res[1].height; //获取右边列表的高度
           resolve();
          });
        })
      },
    
    })

    样式文件根据自己项目的样式来,主要分为两列。

    总结,将样式分为两列,循化数据,获取两列的高度,根据判断条件将两个数组中的每个数据放入左右数组之中

  • 相关阅读:
    userAgent判断当前设备类型
    h5+css3最简单的图片飞入以及淡入淡出效果
    ruby的form中常用的控件
    初识swipe.js
    后缀为7z的文件解码
    python all()函数
    flask web表单
    flask过滤器
    flask学习笔记1.21
    py学习笔记1.13、1.14
  • 原文地址:https://www.cnblogs.com/sisxxw/p/15180320.html
Copyright © 2020-2023  润新知