微信小程序菜单栏吸附功能发生抖动的优化方案

效果图

在这里插入图片描述

WXML结构

在这里插入图片描述

WXSS代码

在这里插入图片描述

  1. 在进行滚动时,为了防止多次给元素添加class,我们需要判断当前是否已经是吸附状态,如果是就不必重复添加。
  2. 从WXML中可以看到,菜单栏是否吸附是根据isSticky变量判断的,当页面滚动到菜单栏和header的交界点时,会发生明显的抖动,这是因为菜单栏从标准文档流变成position:fixed状态时,原本的页面高度发生了改变,页面的滚动位置也会随着改变,因此,新增一个view,高度与菜单栏的高度一致,并且在吸附的同时取代菜单栏原本占的位置,这样就能避免抖动了。
相关推荐
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页