效果展示
思路
监听滚动事件,记录上次的滚动距离,与最新滚动距离做对比,如果为正,说明滚动距离距顶值scrollTop变大,用户正在向下滚动页面,此时隐藏,反之则反,隐藏就是top值给他负导航栏的高度距离就隐藏了
步骤
css样式
.isHide{top:-76px
}
js监听
mounted() {window.addEventListener('scroll', this.scrolling)},methods: {scrolling(){// console.log(document.documentElement.scrollTop||document.body.scrollTop)// 可视窗口顶部距离文档顶部的距离let scrollTop=document.documentElement.scrollTop||document.body.scrollTop// 与上次滚动所更新的距顶值做对比,如果是小于0,说明这次对比上次的距顶小,说明用户正在往上滚动,反之则反let compareLast=scrollTop-this.lastToTopthis.lastToTop=scrollTopif (compareLast>0){this.isHide=true}else {this.isHide=false}}}
nav导航css
position: fixed;top: 0;transition:all 0.3s ;