zoukankan      html  css  js  c++  java
  • 小程序自由滑动的表格

    // pages/test/test.js
    Page({
    
      /**
       * 页面的初始数据
       */
      data: {
        headerList: [{
          name: '表头一',
          number: 'A201',
          type: "标准间"
        }, {
          name: '表头二',
          number: 'A202',
          type: "大床"
        }, {
          name: '表头三',
          number: 'A203',
          type: "标准间"
        }, {
          name: '表头四',
          number: 'A204',
          type: "大床"
        }, {
          name: '表头五',
          number: 'A205',
          type: "标准间"
        }, {
          name: '表头六',
          number: 'A206',
          type: "大床"
        }],
        list: [
          {
            date: "05-12",
            num: 4,
            week: '周一',
            children: [{
                number: 'A201',
                name: '测试',
                money: '360'
              },
              {
                number: 'A202',
                name: '测试',
                money: '360'
              },
              {
                number: 'A203',
                name: '测试',
                money: '360'
              }, {
                number: 'A204',
                name: '测试',
                money: '360'
              }, {
                number: 'A205',
                name: '测试',
                money: '360'
              }, {
                number: 'A206',
                name: '测试',
                money: '360'
              }
            ]
          },
          {
            date: "05-12",
            num: 4,
            week: '周二',
            children: [{
                number: 'A201',
                name: '测试',
                money: '360'
              },
              {
                number: 'A202',
                name: '测试',
                money: '360'
              },
              {
                number: 'A203',
                name: '测试',
                money: '360'
              }, {
                number: 'A204',
                name: '测试',
                money: '360'
              }, {
                number: 'A205',
                name: '测试',
                money: '360'
              }, {
                number: 'A206',
                name: '测试',
                money: '360'
              }
            ]
          },
          {
            date: "05-12",
            num: 4,
            week: '周三',
            children: [{
                number: 'A201',
                name: '测试',
                money: '360'
              },
              {
                number: 'A202',
                name: '测试',
                money: '360'
              },
              {
                number: 'A203',
                name: '测试',
                money: '360'
              }, {
                number: 'A204',
                name: '测试',
                money: '360'
              }, {
                number: 'A205',
                name: '测试',
                money: '360'
              }, {
                number: 'A206',
                name: '测试',
                money: '360'
              }
            ]
          },
          {
            date: "05-12",
            num: 4,
            week: '周四',
            children: [{
                number: 'A201',
                name: '测试',
                money: '360'
              },
              {
                number: 'A202',
                name: '测试',
                money: '360'
              },
              {
                number: 'A203',
                name: '测试',
                money: '360'
              }, {
                number: 'A204',
                name: '测试',
                money: '360'
              }, {
                number: 'A205',
                name: '测试',
                money: '360'
              }, {
                number: 'A206',
                name: '测试',
                money: '360'
              }
            ]
          },
          {
            date: "05-12",
            num: 4,
            week: '周五',
            children: [{
                number: 'A201',
                name: '测试',
                money: '360'
              },
              {
                number: 'A202',
                name: '测试',
                money: '360'
              },
              {
                number: 'A203',
                name: '测试',
                money: '360'
              }, {
                number: 'A204',
                name: '测试',
                money: '360'
              }, {
                number: 'A205',
                name: '测试',
                money: '360'
              }, {
                number: 'A206',
                name: '测试',
                money: '360'
              }
            ]
          },
          {
            date: "05-12",
            num: 4,
            week: '周六',
            children: [{
                number: 'A201',
                name: '测试',
                money: '360'
              },
              {
                number: 'A202',
                name: '测试',
                money: '360'
              },
              {
                number: 'A203',
                name: '测试',
                money: '360'
              }, {
                number: 'A204',
                name: '测试',
                money: '360'
              }, {
                number: 'A205',
                name: '测试',
                money: '360'
              }, {
                number: 'A206',
                name: '测试',
                money: '360'
              }
            ]
          },
          {
            date: "05-12",
            num: 4,
            week: '周日',
            children: [{
                number: 'A201',
                name: '测试',
                money: '360'
              },
              {
                number: 'A202',
                name: '测试',
                money: '360'
              },
              {
                number: 'A203',
                name: '测试',
                money: '360'
              }, {
                number: 'A204',
                name: '测试',
                money: '360'
              }, {
                number: 'A205',
                name: '测试',
                money: '360'
              }, {
                number: 'A206',
                name: '测试',
                money: '360'
              }
            ]
          },
          {
            date: "05-12",
            num: 4,
            week: '周八',
            children: [{
                number: 'A201',
                name: '测试',
                money: '360'
              },
              {
                number: 'A202',
                name: '测试',
                money: '360'
              },
              {
                number: 'A203',
                name: '测试',
                money: '360'
              }, {
                number: 'A204',
                name: '测试',
                money: '360'
              }, {
                number: 'A205',
                name: '测试',
                money: '360'
              }, {
                number: 'A206',
                name: '测试',
                money: '360'
              }
            ]
          }
        ],
        scrollTop: true,
        left: 0
      },
      // 监听左右滚动
      scroll: function (e) {
        let that = this;
        that.setData({
          left: e.detail.scrollLeft,
        })
      },
      // 监听上下滚动
      // onPageScroll (e) { 
      //   let that = this;
      //   if(e.scrollTop>10){
      //     that.setData({
      //       top:e.scrollTop,
      //       scrollTop:false
      //     })
      //   }else{
      //     that.setData({
      //       scrollTop:true
      //     })
      //   }
      //   },
      /**
       * 生命周期函数--监听页面加载
       */
      onLoad: function (options) {
        let that = this;
        wx.getSystemInfo({
          success: function (res) {
            console.log(res.windowWidth)
            console.log(res.windowWidth / 5)
            that.setData({
              // 设置紫色框 scroll-view 的高度
              wHeight: res.windowWidth,
               res.windowWidth / 5,
            })
          }
        })
      },
    
      /**
       * 生命周期函数--监听页面初次渲染完成
       */
      onReady: function () {
    
      },
    
      /**
       * 生命周期函数--监听页面显示
       */
      onShow: function () {
    
      },
    
      /**
       * 生命周期函数--监听页面隐藏
       */
      onHide: function () {
    
      },
    
      /**
       * 生命周期函数--监听页面卸载
       */
      onUnload: function () {
    
      },
    
      /**
       * 页面相关事件处理函数--监听用户下拉动作
       */
      onPullDownRefresh: function () {
    
      },
    
      /**
       * 页面上拉触底事件的处理函数
       */
      onReachBottom: function () {
    
      },
    
      /**
       * 用户点击右上角分享
       */
      onShareAppMessage: function () {
    
      }
    })
     <!-- pages/test/test.wxml -->
    <view class="top flex">
        <view class="top_left" style="{{width}}px;">时间段</view>
        <view class="top_right flex" style="{{wHeight-width}}px;margin-left:-{{left}}px;">
            <view class="top_info" style="min-{{width}}px;" wx:for="{{headerList}}" wx:key="index">
                <view>{{item.name}}</view>
                <view>{{item.number}}</view>
                <view>{{item.type}}</view>
            </view>
        </view>
    </view>
    <view class="perch"></view>
    <view class="bottom flex">
        <view class="bottom_left" style="{{width}}px;">
            <view class="bottom_left_date" style="{{width}}px;" wx:for="{{list}}" wx:key="index">
                <view>{{item.date}}</view>
                <view>{{item.week}}</view>
                <!-- <view>{{left}}{{item.week}}</view> -->
                <view>剩余{{item.num}}间</view>
            </view>
        </view>
        <scroll-view scroll-x="true" bindscroll="scroll" throttle="{{false}}" class="bottom_right" style="{{wHeight-width}}px;">
            <view class="flex">
                <view class="bottom_right_ver" style="min-{{width}}px;" wx:for="{{headerList}}" wx:for-index="idx" wx:key="index">
                    <view class="bottom_right_ver_info" style="min-{{width}}px;" wx:for="{{list}}" wx:key="index">
                            <view>{{item.children[idx].number}}</view>
                            <view>{{item.children[idx].name}}</view>
                            <view>{{item.date}}</view>
                    </view>
                </view>
            </view>
    
        </scroll-view>
    
    </view>
    /* pages/test/test.wxss */
    .flex{
      display: flex;
      display: -webkit-flex;
    }
    .top{
      width: 750rpx;
      height: 150rpx;
      border: 1px solid #eee;
      position: fixed;
      z-index: 1001;
    }
    .top_left{
      height: 150rpx;
      background: #fff;
      z-index: 1001;
    }
    .top_right{
      height: 150rpx;
    }
    /* 表头样式 */
    .top_info{
      height: 150rpx;
      /* border:1px solid #eee; */
      background: #fff;
      z-index: 101;
    }
    .perch{
      width: 750rpx;
      height: 150rpx;
    }
    .bottom{
      width: 750rpx;
    }
    .bottom_left{
      /* background: #fff; */
    }
    .bottom_left_date{
      height: 150rpx;
      /* border:1px solid #eee; */
    }
    .bottom_right{
      /* border:1px solid #eee; */
    }
    .bottom_right_ver{
      /* border: 1px solid #eee; */
    }
    .bottom_right_ver_info{
      height: 150rpx;
      /* border:1px solid #eee; */
    }
    // pages/test/test.json*/
    {
      "navigationBarTitleText": "上下左右滑动的表格",
      "navigationBarBackgroundColor": "#eee",
      "backgroundTextStyle": "light",
      "backgroundColor": "#eee",
      "navigationBarTextStyle": "black",
      "usingComponents": {}
    }

     可直接使用源码,谢绝转载!

  • 相关阅读:
    Java中的Set List HashSet互转
    Java数组如何转为List集合
    Map
    Jave中的日期
    mybatis plus 条件构造器queryWrapper学习
    Error running 'JeecgSystemApplication': Command line is too long. Shorten command line for JeecgSystemApplication or also for Spring Boot default configuration.
    RBAC权限系统分析、设计与实现
    html拼接时onclick事件传递json对象
    PostgreSQL 大小写问题 一键修改表名、字段名为小写 阅读模式
    openssl创建的自签名证书,使用自签发证书--指定使用多域名、泛域名及直接使用IP地址
  • 原文地址:https://www.cnblogs.com/lhl66/p/12882311.html
Copyright © 2011-2022 走看看