小程序左右瀑布流实例

/**
 * 根据list生成左右list
 * @params {array} list 追加的评论列表
 */
renderList(list = []) {
  let left_list = this.data.left_list
  let right_list = this.data.right_list
  list.forEach((item, idx) => {
    if (idx % 2) {
      right_list.push(item)
    } else {
      left_list.push(item)
    }
  })
  this.setData({
    left_list,
    right_list,
  })

  // 延时操作,为了准确拿到渲染后的高度
  setTimeout(() => {
    var item = wx.createSelectorQuery()
    item.select('#left').boundingClientRect()
    item.select('#right').boundingClientRect()
    item.exec(res => {
      let [left_height, right_height] = res.map(i => i.height)
      let [left_list, right_list] = [this.data.left_list, this.data.right_list]
      // 卡牌平均半高
      let cut_height = 300
      // 谁高,去掉谁的尾巴给另一个
      if (left_height - right_height > cut_height) {
        right_list.push(left_list.pop())
      } else if (right_height - left_height > cut_height) {
        left_list.push(right_list.pop())
      }
      this.setData({
        left_list,
        right_list,
      })
    })
  }, 1000)
},
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值