人生有起有落,有起有伏,无论你现在是在人生的顶峰,还是在人生的低谷,都是人生必经的一个过程。站在山峰的你,回头看看曾经在山谷的你,是多么的发奋图强,自强不息。所有的好事不是不来,而是在等红绿灯的路上。
接下来是中部导航栏。我们看到这里的头像动画,和中部导航栏定位都是跟鼠标滚动有关的。我们先将布局实现一下。这里是要求在页面上部分滚动范围内,导航栏一直在div的上部,随着鼠标的滚动而改变位置。到下部分滚动范围,导航栏就一直固定到页面的上部分。
这里需要注意两个地方
这里需要一个覆盖不了的区域,可以给人一种更好开关屏的感觉。而且中部导航栏下方区域的内容,在下滑的时候不能出现在这个区域。
一定要注意 尽可能的少进行DOM操作,这样是非常影响性能的 !
监听鼠标滚动事件
private fixedFlag: boolean = false;
private unFixedFlag: boolean = true;
private mounted() {
window.addEventListener("scroll", this.handleScroll);
}
private handleScroll() {
const scrollTop =
window.pageYOffset ||
document.documentElement.scrollTop ||
document.body.scrollTop;
if (scrollTop > 300) {
if (!this.fixedFlag) {
const obj = document!.getElementById("index-menu");
const obj2 = document!.getElementById("fake-area");
obj!.style.position = "fixed";
obj!.style.top = "77px";
obj2!.style.position = "fixed";
obj2!.style.top = "47px";
this.fixedFlag = true;
this.unFixedFlag = false;
}
} else {
if (!this.unFixedFlag) {
const obj = document!.getElementById("index-menu");
const obj2 = document!.getElementById("fake-area");
obj!.style.position = "";
obj!.style.top = "";
obj2!.style.position = "";
obj2!.style.top = "";
this.unFixedFlag = true;
this.fixedFlag = false;
}
}
}
效果展示
项目地址
https://github.com/pppercyWan...
总结
以上所述是小编给大家介绍的vue实现中部导航栏布局功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
本文vue如何实现中部导航栏布局功能到此结束。如果你认为苦是自己应得的,那么光必然会照耀到你身上。小编再次感谢大家对我们的支持!