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


Posted in Javascript onJuly 30, 2019

接下来是中部导航栏。我们看到这里的头像动画,和中部导航栏定位都是跟鼠标滚动有关的。我们先将布局实现一下。这里是要求在页面上部分滚动范围内,导航栏一直在div的上部,随着鼠标的滚动而改变位置。到下部分滚动范围,导航栏就一直固定到页面的上部分。

这里需要注意两个地方

这里需要一个覆盖不了的区域,可以给人一种更好开关屏的感觉。而且中部导航栏下方区域的内容,在下滑的时候不能出现在这个区域。

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

一定要注意 尽可能的少进行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实现中部导航栏布局功能

项目地址

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

总结

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

Javascript 相关文章推荐
JavaScript验证18位身份证号码最后一位正确性的实现代码
Aug 07 Javascript
jQuery实现的一个tab切换效果内部还嵌有切换
Aug 10 Javascript
js实现jquery的offset()方法实例
Jan 10 Javascript
Jquery效果大全之制作电脑健康体检得分特效附源码下载
Nov 02 Javascript
原生JavaScript实现滚动条效果
Mar 24 Javascript
jquery中validate与form插件提交的方式小结
Mar 26 Javascript
30分钟快速入门掌握ES6/ES2015的核心内容(上)
Apr 18 Javascript
Egg.js 中 AJax 上传文件获取参数的方法
Oct 10 Javascript
微信小程序代码上传、审核发布小程序
May 18 Javascript
Vue 自定义指令实现一键 Copy功能
Sep 16 Javascript
通过vue刷新左侧菜单栏操作
Aug 06 Javascript
解决antd的Form组件setFieldsValue的警告问题
Oct 29 Javascript
js定义类的方法示例【ES5与ES6】
Jul 30 #Javascript
Javascript 对象(object)合并操作实例分析
Jul 30 #Javascript
JavaScript跳出循环的三种方法(break, return, continue)
Jul 30 #Javascript
8个有意思的JavaScript面试题
Jul 30 #Javascript
开源一个微信小程序仪表盘组件过程解析
Jul 30 #Javascript
原生js添加一个或多个类名的方法分析
Jul 30 #Javascript
vue2.0项目集成Cesium的实现方法
Jul 30 #Javascript
You might like
php图像处理函数大全(推荐收藏)
2013/07/11 PHP
PHP第三方登录―QQ登录实现方法
2017/02/06 PHP
PHP设计模式入门之状态模式原理与实现方法分析
2020/04/26 PHP
解决PHP Opcache 缓存刷新、代码重载出现无法更新代码的问题
2020/08/24 PHP
js利用Array.splice实现Array的insert/remove
2009/01/13 Javascript
jQuery中获取Radio元素值的方法
2013/07/02 Javascript
jquery获取元素索引值index()示例
2014/02/13 Javascript
巧用局部变量提升javascript性能
2014/02/24 Javascript
JavaScript获取图片像素颜色并转换为box-shadow显示
2016/03/11 Javascript
JS针对浏览器窗口关闭事件的监听方法集锦
2016/06/24 Javascript
vue实现选项卡及选项卡切换效果
2018/04/24 Javascript
vue watch深度监听对象实现数据联动效果
2018/08/16 Javascript
javascript中toFixed()四舍五入使用方法详解
2018/09/28 Javascript
vue中进行微博分享的实例讲解
2019/10/14 Javascript
跟老齐学Python之玩转字符串(2)更新篇
2014/09/28 Python
详解Python的Django框架中的通用视图
2015/05/04 Python
详解python中的 is 操作符
2017/12/26 Python
基于Pandas读取csv文件Error的总结
2018/06/15 Python
对python判断是否回文数的实例详解
2019/02/08 Python
django fernet fields字段加密实践详解
2019/08/12 Python
python 中的[:-1]和[::-1]的具体使用
2020/02/13 Python
如何基于python实现不邻接植花
2020/05/01 Python
python matplotlib库的基本使用
2020/09/23 Python
python 基于opencv 实现一个鼠标绘图小程序
2020/12/11 Python
多视角3D可旋转的HTML5 Logo动画
2016/03/02 HTML / CSS
Nisbets法国:英国最大的厨房和餐饮设备供应商
2019/03/18 全球购物
美国便宜的横幅和标志印刷在线:Best of Signs
2019/05/29 全球购物
美国一家著名的手表在线折扣网站:Discount Watch Store
2020/02/24 全球购物
介绍一下Java的安全机制
2012/06/28 面试题
教师自我剖析材料(四风问题)
2014/09/30 职场文书
优秀班组事迹材料
2014/12/24 职场文书
2015年世界艾滋病日活动总结
2015/03/24 职场文书
2015年三万活动总结
2015/03/25 职场文书
捐书活动倡议书
2015/04/27 职场文书
小学生反邪教心得体会
2016/01/15 职场文书
vue3中provide && inject的使用
2021/07/01 Vue.js