zoukankan      html  css  js  c++  java
  • 小程序的瀑布流式布局

    <block wx:for="{{imagesList}}">

    <image src='{{item.pic}}' data-index='{{item.id}}' class='hide' bindload='reserveimg'></image>

    </block>

    <scroll-view style="height:{{scrollH}}rpx" class='scroll' bindscrolltolower="loadImages" scroll-y='true'>

    <view class='col1'>

    <block wx:for="{{col1}}">

    <image src='{{item.pic}}' style='{{item.width}}rpx;height:{{item.height}}rpx;'></image>

    </block>

    </view>

    <view class='col2'>

    <block wx:for="{{col2}}">

    <image src='{{item.pic}}' style='{{item.width}}rpx;height:{{item.height}}rpx;'></image>

    </block>

    </view>

    </scroll-view>
     
    .scroll{

    720rpx;

    margin: 0 auto;

    }

    .col1{

    350rpx;

    float: left;

    }

    .col2{

    350rpx;

    float: left;

    margin-left: 20rpx;

    }
     
    var col1H = 0;

    var col2H = 0;

    var col1 = [];

    var col2 = [];

    Page({



    /**
     
    * 页面的初始数据
     
    */

    data: {

    imagesList: [],

    scrollH: 1500

    },

    /**
     
    * 生命周期函数--监听页面加载
     
    */

    onLoad: function (options) {

    this.loadImages();

    },

    //图片宽高重置

    reserveimg: function (e) {

    var that = this;

    var index = e.currentTarget.dataset.index;

    var imgw = e.detail.width;

    var imgh = e.detail.height;

    var width = 350;

    var height = imgh * width / imgw;

    for (var i = 0; i < that.data.imagesList.length; i++) {

    if (i == index) {

    if (col1H <= col2H) {

    col1.push({

    "pic": that.data.imagesList[i].pic,

    "width": 350,

    "height": height,

    });

    col1H += height;

    } else {

    col2.push({

    "pic": that.data.imagesList[i].pic,

    "width": 350,

    "height": height,

    })

    col2H += height;

    }

    }

    }

    that.setData({

    col1: col1,

    col2: col2

    })

    console.info(index, col1, col2)

    },

    //下拉加载

    loadImages: function () {

    var that = this;

    //模拟的加载本地图片数据

    let images = [

    { pic: "http://img0.imgtn.bdimg.com/it/u=4139318954,1536360164&fm=26&gp=0.jpg", height: 0 },

    { pic: "http://img5.imgtn.bdimg.com/it/u=1007188585,453085648&fm=26&gp=0.jpg", height: 0 },

    ];

    var imagesList = that.data.imagesList;

    for (var i = 0; i < images.length; i++) {

    images[i].id = i

    }

    var imagesArray = imagesList.concat(images)

    this.setData({

    imagesList: imagesArray

    });

    }

    })
  • 相关阅读:
    大型网站架构
    Swift 2.x 升为 swift 3后语法不兼容问题适配
    Redis开发
    你必须知道的Dockerfile
    JAVA知识点汇总
    JAVA知识点汇总
    nginx location配置详细解释
    python3 urllib.request.Request的用法
    拉勾网python开发要求爬虫
    爬虫工程师是干什么的?你真的知道了吗?
  • 原文地址:https://www.cnblogs.com/Annely/p/11276609.html
Copyright © 2011-2022 走看看