微信小程序实现列表滚动头部吸顶的示例代码

(编辑:jimmy 日期: 2024/12/26 浏览:2)

本文介绍了小程序头部吸顶的实现代码示例,分享给大家,也给自己留个笔记

demo 地址: https://github.com/iotjin/Jh_weapp

效果图:

微信小程序实现列表滚动头部吸顶的示例代码

吸顶主要是 position: sticky;

.header {
 background: rgb(230, 230, 230);
 height: 25px;
 line-height: 25px;
 padding-left: 30rpx;
 font-size: 13px;
 align-items: center;
 position: sticky;
 top: 0;
}

js 代码:

Page({
 data: {
  dataArr: [{
    "AB_MonthDay": "30/06",
    "AB_ZhiChu": "1111",
    "AB_ShouRu": "2222",
    "AB_Bill": [{
     "AB_LeiBie": "吃饭1",
     "AB_Money": "11",
     "AB_Remark": "备注",
     "AB_Date": "2011-11-11 15:38:16",
     "AB_FenLei": "支出",
    },{
     "AB_LeiBie": "吃饭1",
     "AB_Money": "22",
     "AB_Remark": "备注2",
     "AB_Date": "2011-11-11 15:38:16",
     "AB_FenLei": "支出",
    },{
     "AB_LeiBie": "红包1",
     "AB_Money": "33",
     "AB_Remark": "备注33",
     "AB_Date": "2011-11-11 15:38:16",
     "AB_FenLei": "收入",
    },
   ]
   },
   {
    "AB_MonthDay": "29/06",
    "AB_ZhiChu": "1111",
    "AB_ShouRu": "2222",
    "AB_Bill": [{
     "AB_LeiBie": "吃饭2",
     "AB_Money": "22",
     "AB_Remark": "",
     "AB_Date": "2011-11-11 15:38:16",
     "AB_FenLei": "支出",
    }]
   },
   {
    "AB_MonthDay": "28/06",
    "AB_ZhiChu": "1111",
    "AB_ShouRu": "2222",
    "AB_Bill": [{
     "AB_LeiBie": "吃饭3",
     "AB_Money": "33",
     "AB_Remark": "",
     "AB_Date": "2011-11-11 15:38:16",
     "AB_FenLei": "支出",
    }]
   },
   {
    "AB_MonthDay": "27/06",
    "AB_ZhiChu": "1111",
    "AB_ShouRu": "2222",
    "AB_Bill": [{
     "AB_LeiBie": "吃饭4",
     "AB_Money": "44",
     "AB_Remark": "",
     "AB_Date": "2011-11-11 15:38:16",
     "AB_FenLei": "支出",
    }]
   },
   {
    "AB_MonthDay": "26/06",
    "AB_ZhiChu": "1111",
    "AB_ShouRu": "2222",
    "AB_Bill": [{
     "AB_LeiBie": "吃饭4",
     "AB_Money": "44",
     "AB_Remark": "",
     "AB_Date": "2011-11-11 15:38:16",
     "AB_FenLei": "支出",
    }]
   },
   {
    "AB_MonthDay": "25/06",
    "AB_ZhiChu": "1111",
    "AB_ShouRu": "2222",
    "AB_Bill": [{
     "AB_LeiBie": "吃饭4",
     "AB_Money": "44",
     "AB_Remark": "",
     "AB_Date": "2011-11-11 15:38:16",
     "AB_FenLei": "支出",
    }]
   },
   {
    "AB_MonthDay": "24/06",
    "AB_ZhiChu": "1111",
    "AB_ShouRu": "2222",
    "AB_Bill": [{
     "AB_LeiBie": "吃饭4",
     "AB_Money": "44",
     "AB_Remark": "",
     "AB_Date": "2011-11-11 15:38:16",
     "AB_FenLei": "支出",
    }]
   },
   {
    "AB_MonthDay": "23/06",
    "AB_ZhiChu": "1111",
    "AB_ShouRu": "2222",
    "AB_Bill": [{
     "AB_LeiBie": "吃饭4",
     "AB_Money": "44",
     "AB_Remark": "",
     "AB_Date": "2011-11-11 15:38:16",
     "AB_FenLei": "支出",
    }]
   },
   {
    "AB_MonthDay": "22/06",
    "AB_ZhiChu": "1111",
    "AB_ShouRu": "2222",
    "AB_Bill": [{
     "AB_LeiBie": "吃饭4",
     "AB_Money": "44",
     "AB_Remark": "",
     "AB_Date": "2011-11-11 15:38:16",
     "AB_FenLei": "支出",
    }]
   },
   {
    "AB_MonthDay": "21/06",
    "AB_ZhiChu": "1111",
    "AB_ShouRu": "2222",
    "AB_Bill": [{
     "AB_LeiBie": "吃饭4",
     "AB_Money": "44",
     "AB_Remark": "",
     "AB_Date": "2011-11-11 15:38:16",
     "AB_FenLei": "支出",
    }]
   },
   {
    "AB_MonthDay": "20/06",
    "AB_ZhiChu": "1111",
    "AB_ShouRu": "2222",
    "AB_Bill": [{
     "AB_LeiBie": "吃饭4",
     "AB_Money": "44",
     "AB_Remark": "",
     "AB_Date": "2011-11-11 15:38:16",
     "AB_FenLei": "支出",
    }]
   },
   {
    "AB_MonthDay": "19/06",
    "AB_ZhiChu": "1111",
    "AB_ShouRu": "2222",
    "AB_Bill": [{
     "AB_LeiBie": "吃饭4",
     "AB_Money": "44",
     "AB_Remark": "",
     "AB_Date": "2011-11-11 15:38:16",
     "AB_FenLei": "支出",
    }]
   },
  ]

 },
 onShow: function () {
 },
 onPageScroll: function (res) {
  console.log(res.scrollTop);
 }

})

wxml 代码:

<view class="main-bg">
	<view wx:for="{{dataArr}}" wx:key="index" class="section">
		<view class="header"> {{item.AB_MonthDay}}</view>
		<view wx:for="{{item.AB_Bill}}" wx:key="index" class="cell">
    <view class="row1">
     <view wx:if="{{item.AB_Remark}}" class="leibie">{{item.AB_LeiBie}} · {{item.AB_Remark}}</view>
     <view wx:else="{{!item.AB_Remark}}" class="leibie">{{item.AB_LeiBie}}</view>
     <view class='{{item.AB_FenLei=="收入""money2":"money"}}'>{{item.AB_Money}}</view>
    </view>
		</view>
	</view>
</view>

wxss 代码:

.header {
 background: rgb(230, 230, 230);
 height: 25px;
 line-height: 25px;
 padding-left: 30rpx;
 font-size: 13px;
 align-items: center;
 position: sticky;
 top: 0;
}

.cell {
 background: white;
 height: 44px;
 align-items: center;
 line-height: 44px;
 border-bottom: 1px solid rgb(230, 230, 230);
}

.row1 {
 margin-left: 30rpx;
 display: flex;
 justify-content: space-between;
}
.leibie {
 width: 70%;
 font-size: 30rpx;
 color: black;
 text-overflow: ellipsis;
 white-space: nowrap;
 overflow: hidden;
}
.money {
 font-size: 32rpx;
 color: black;
 font-weight: bold;
 margin-right: 30rpx;
}

.money2 {
 font-size: 32rpx;
 color: #38BC9D;
 font-weight: bold;
 margin-right: 30rpx;
}

一句话新闻

高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。