在前端开发中,又是会遇到实现页面中有个导航栏,页面滚动到导航栏位置时,导航栏固定在顶部。滚动回去,导航栏再恢复到页面中。
我们需要获取 :
1. 导航栏在页面中距离窗口顶部的高度 top
2. 时刻检测窗口滚动的高度 scrollTop
当 scrollTop >= top时 说明页面已经滚动到导航的位置了,这时候使用给导航添加个class
然后设置导航position:fixed 再页面的顶端。
但是实现之后可能会发现一个问题,再导航固定的这个值的边缘,上下滚动页面,会出现闪烁的情况。
我这里的解决办法是,再dom中添加一个一模一样滚动再顶部的导航,先设置隐藏
当页面滚动到导航的位置的时候,设置显示出来,这样就可以防止导航闪烁的问题。
如果你也遇到这个问题,还没有找到好的办法,可以试一试哦!!