vue实现中部导航栏布局功能

 更新时间:2019年07月30日 13:50:37   作者:pppercyWang  
这篇文章主要介绍了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;
   }
  }
 }

效果展示

项目地址

https://github.com/pppercyWan...

总结

以上所述是小编给大家介绍的vue实现中部导航栏布局功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

  • FastApi+Vue+LayUI实现前后端分离的示例代码

    FastApi+Vue+LayUI实现前后端分离的示例代码

    本文主要介绍了FastApi+Vue+LayUI实现前后端分离的示例代码,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • VUE组件传参超详细讲解

    VUE组件传参超详细讲解

    vue的特点之一是组件化开发,那么问题来了,组件中的数据和方法都是独立的,我们如何进行组件之间的交互呢。这个时候就要用到组件传参了
    2022-07-07
  • vue项目中如何将当前页面生成图片

    vue项目中如何将当前页面生成图片

    这篇文章主要介绍了vue项目中如何将当前页面生成图片问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-10-10
  • Vue输入框状态切换&自动获取输入框焦点的实现方法

    Vue输入框状态切换&自动获取输入框焦点的实现方法

    这篇文章主要介绍了Vue输入框状态切换&自动获取输入框焦点的实现,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-05-05
  • 以v-model与promise两种方式实现vue弹窗组件

    以v-model与promise两种方式实现vue弹窗组件

    这篇文章主要介绍了vue弹窗组件之两种方式v-model与promise,每种方式给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-05-05
  • vue.js初学入门教程(2)

    vue.js初学入门教程(2)

    这篇文章主要为大家详细介绍了vue.js初学入门教程第二篇,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-11-11
  • 解读resetFields()不生效的原因

    解读resetFields()不生效的原因

    这篇文章主要介绍了解读resetFields()不生效的原因,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • Vant picker 多级联动操作

    Vant picker 多级联动操作

    这篇文章主要介绍了Vant picker 多级联动操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • 通过一个简单的例子学会vuex与模块化

    通过一个简单的例子学会vuex与模块化

    这篇文章主要给大家介绍了关于如何通过一个简单的例子学会vuex与模块化的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-11-11
  • vue如何实现上传图片和显示图片

    vue如何实现上传图片和显示图片

    这篇文章主要介绍了vue如何实现上传图片和显示图片问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-10-10

最新评论