效果仿x团小程序的商品列表滚动时,联动商品分类的效果。
简单描述思路:
1、商品列表做出不同分类的标记位置
2、监听商品列表滚动时,是否到达分类标记位置的高度
3、符合达到标记位置的高度后,触发商品分类栏目选中事件
注意:我的商品分类栏目和商品列表同属一个页面,但分别是两个不同的components,所以触发事件需要传参
正文部分:
先观察下图:留意红色标注部分,这个高度在获取商品列表数据后,通过下面代码获取
// 获取商品数组的位置信息
const query = this.createSelectorQuery()
query.selectAll('.category-name').boundingClientRect()
query.exec((res)=> {
for(let i=0;i<res[0].length;i++){
// console.log(res[0][i].top)
this.data.categoryNameHeight[i].top=res[0][i].top - res[0][0].top