简单的左滑操作和瀑布流布局

简单的左滑操作和瀑布流布局

2021-03-16
¥ 0 终身VIP免费 升级终身VIP
下载不了?请联系网站客服提交链接错误!
增值服务: 安装指导 环境配置 二次开发 网站建设 模板修改 源码安装 LOGO设计 图片设计
简单的左滑操作和瀑布流布局
最近更新 2021年03月16日
资源编号 18282

简单的左滑操作和瀑布流布局

郑重承诺丨总裁主题提供安全交易、信息保真!
增值服务:
安装指导
环境配置
二次开发
网站建设
模板修改
源码安装
¥ 0 (终身VIP免费 升级终身VIP开通VIP尊享优惠特权
立即下载 升级会员 最新活动
详情介绍

简单的左滑操作和瀑布流布局

只是简单的实现了左滑功能,和瀑布流的布局。如有不明白之处,或者有bug之处请在下方回帖说明!!

简单的左滑操作和瀑布流布局

实例代码:

001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
019
020
021
022
023
024
025
026
027
028
029
030
031
032
033
034
035
036
037
038
039
040
041
042
043
044
045
046
047
048
049
050
051
052
053
054
055
056
057
058
059
060
061
062
063
064
065
066
067
068
069
070
071
072
073
074
075
076
077
078
079
080
081
082
083
084
085
086
087
088
089
090
091
092
093
094
095
096
097
098
099
100
101
102
103
Page({
    data: {
        images: [{ pic: “../../images/1.png”, height: 0 }, { pic: “../../images/2.png”, height: 0 }, { pic: “../../images/3.png”, height: 0 }, { pic: “../../images/4.png”, height: 0 }, { pic: “../../images/5.png”, height: 0 },{ pic: “../../images/1.png”, height: 0 }, { pic: “../../images/2.png”, height: 0 },],
        scroll_H: 0,
        imgWidth: 0,
        oneimages: [],
        twoimages: [],
        oImageIndex: []
    },
    onLoad: function (options) {
        // 页面初始化 options为页面跳转所带来的参数
        var that = this;
        wx.getSystemInfo({
            success: function (res) {
                console.log(res);
                var _width = res.windowWidth;
                var imgWidth = _width * 0.48; //样式表里面设置的宽度
                var scroll_H = res.windowHeight * (750 / res.windowWidth);
                that.setData({
                    scroll_H: scroll_H,
                    imgWidth: imgWidth
                })
            }
        })
        var images = this.data.images;
        var oImageIndex = [];//把数组下标存入临时对象中
        for (var i = 0; i < images.length; i++) {
            oImageIndex.push(i);
        }
        this.setData({
            oImageIndex: oImageIndex
        })
    },
    onReady: function () {
        // 页面渲染完成
    },
    onShow: function () {
        // 页面显示
    },
    onHide: function () {
        // 页面隐藏
    },
    onUnload: function () {
        // 页面关闭
    },
    loadimg: function (e) {//图片加载完成执行
        var index = e.currentTarget.id;
        console.log(index)
        var oImageIndex = this.data.oImageIndex;
        var tempIndex = 0;
        for (var i = 0; i < oImageIndex.length; i++) {
            if (oImageIndex[i] == index) {
                tempIndex = i;
                break;
            }
        }
        var imgWidth = this.data.imgWidth;//图片设置的宽度
        var oImgW = e.detail.width;//图片原始宽度
        var scal = imgWidth / oImgW;//比例计算
        var oImgH = e.detail.height;//图片原始高度
        var _imgHeight = oImgH * scal;//自适应高度
        var images = this.data.images;
        images[index].height = _imgHeight;
        oImageIndex.splice(tempIndex, 1);
        this.setData({
            oImageIndex: oImageIndex,
            images: images
        })
        var oneimages = this.data.oneimages;
        var twoimages = this.data.twoimages;
        if (oImageIndex.length == 0) { //当加载完最后一张图片执行
            var oneImageH = 0;
            var twoImageH = 0;
            for (var i = 0; i < images.length; i++) {
                if (i > 0) { //第一张除外
                    if (oneImageH > twoImageH) {
                        twoImageH += images[i].height;
                        twoimages.push(images[i]);
                    } else {
                        oneImageH += images[i].height;
                        oneimages.push(images[i]);
                    }
                } else {
                    oneImageH += images[i].height;
                    oneimages.push(images[i])
                }
            }
        }
        this.setData({
            oneimages: oneimages,
            twoimages: twoimages
        })
    }
})

 

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
<scroll-view  scroll-y=”true” style=”height:{{scroll_H}}rpx”>
<view style=”height:0;overflow:hidden”>
         <view wx:for=”{{images}}” wx:key=”index”>
                 <image id=”{{index}}” src=”{{item.pic}}” data-item=”1″ bindload=”loadimg” ></image>
         </view>
</view>
<view style=”width:100%”>
        <view class=”img_item”>
         <view wx:for=”{{oneimages}}” wx:key=”index” >
                 <image  id=”{{index}}” src=”{{item.pic}}” data-item=”1″ style=”width:100%;height:{{item.height}}px”></image>
         </view>
        </view>
        <view class=”img_item”>
                <view wx:for=”{{twoimages}}” wx:key=”index”>
                        <image id=”{{index}}” src=”{{item.pic}}” style=”width:100%;height:{{item.height}}px”></image>
                </view>
        </view>
</view>
</scroll-view>
资源下载此资源仅限注册用户下载,请先
客服QQ:3482249445
收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

所有文章为演示数据,不提供下载地址,版权归原作者所有,仅提供演示效果!

小程序网 小程序 简单的左滑操作和瀑布流布局 https://www.10000ii.com/18282.html

下一篇: v2ex
常见问题
  • 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。
查看详情
  • 最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用
查看详情

相关文章

简单的左滑操作和瀑布流布局-海报

分享本文封面