小编给大家分享一下如何使用vue实现中部导航栏布局功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
中部导航栏。我们看到这里的头像动画,和中部导航栏定位都是跟鼠标滚动有关的。我们先将布局实现一下。这里是要求在页面上部分滚动范围内,导航栏一直在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; } } }
效果展示
以上是“如何使用vue实现中部导航栏布局功能”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。