向上滚动的问题可以把这个方法换一下,这样右边的菜单上下滚动左边的也会同步了
function handleGoodsScroll({ detail }) {
if (!sizeCalcState.value) {
calcSize()
}
const { scrollTop } = detail
const chickItem = goods.value.filter(item => item.id == curCateId.value)[0];
// 如果当前选择的top > scrollTop , 不切换
// 否则再进行切换
let tabs = goods.value.filter(item => item.top <= (scrollTop + 1))
if (chickItem?.top < scrollTop) {
// 此处scrollTop + 1为了处理scrolltop的偏差值
if (tabs.length > 0) {
curCateId.value = tabs[tabs.length - 1].id;
}
// 向上滚动的代码,菜单也会改变
}else if(chickItem?.top>scrollTop){
if(tabs.length===0){
curCateId.value =goods.value[0].id;
}else{
curCateId.value = tabs[tabs.length - 1].id;
}
}
}
0 个回复