4 回答
TA贡献1807条经验 获得超9个赞
/* 思路:再写一个固定定位在最上边的导航nav,与你现在所写的导航nav一模一样。
** 当未滑动一定距离时,隐藏固定定位的导航
** 若是滑动过一定距离,就展示固定定位的导航。*/
window.addEventListener('scroll', function() {
/* 更正一下,下面的navHight是导航nav的hight。
** 不论你是写死数值,还是用js的api通过其dom来获取height属性。
** 下面的40是举的例子,是写死的,为40px。*/
var navHight = 40
var scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop
/* this.$refs.nav 是vue的写法,指的是nav导航的dom。
** 你也可以用document.getElementById等api来获取其dom。*/
var offsetTop = this.$refs.nav.offsetTop
/* scrollTop是滚动的高度,navHight上边已经解释。
** 核心是offsetTop,不明白的可以console一下,就明白了。*/
if (scrollTop+navHight > offsetTop) {
// 展示固定定位的导航nav
} else {
// 隐藏固定定位的导航nav
}
})
添加回答
举报