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中的every()方法
Jun 08 Javascript
jQuery实现获取元素索引值index的方法
Sep 18 Javascript
Bootstrap CSS布局之代码
Dec 17 Javascript
Jquery Easyui选项卡组件Tab使用详解(10)
Dec 18 Javascript
jQuery插件zTree实现的基本树与节点获取操作示例
Mar 08 Javascript
JS禁止浏览器右键查看元素或按F12审查元素自动关闭页面示例代码
Sep 07 Javascript
vue项目部署到Apache服务器中遇到的问题解决
Aug 24 Javascript
vue增加强缓存和版本号的实现方法
May 01 Javascript
详解mpvue中使用vant时需要注意的onChange事件的坑
May 16 Javascript
vue 集成 vis-network 实现网络拓扑图的方法
Aug 07 Javascript
Element Card 卡片的具体使用
Jul 26 Javascript
vue 如何使用递归组件
Oct 23 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
日本十大最佳动漫,全都是二次元的神级作品
2019/10/05 日漫
解决Yii2邮件发送结果返回成功,但接收不到邮件的问题
2017/05/23 PHP
javascript数组的扩展实现代码集合
2008/06/01 Javascript
javascript mouseover、mouseout停止事件冒泡的解决方案
2009/04/07 Javascript
JS 分号引起的一段调试问题
2009/06/18 Javascript
javascript 日期常用的方法
2009/11/11 Javascript
默认让页面的第一个控件选中的javascript代码
2009/12/26 Javascript
对javascript的一点点认识总结《javascript高级程序设计》读书笔记
2011/11/30 Javascript
html5+javascript制作简易画板附图
2014/04/25 Javascript
javascript实现网页字符定位的方法
2015/07/14 Javascript
jquery选择器简述
2015/08/31 Javascript
微信小程序 登录的简单实现
2017/04/19 Javascript
jQuery实现jQuery-form.js实现异步上传文件
2017/04/28 jQuery
JS查找数组中重复元素的方法详解
2017/06/14 Javascript
详解nodejs中express搭建权限管理系统
2017/09/15 NodeJs
浅析Angular 实现一个repeat指令的方法
2019/07/21 Javascript
Vue的属性、方法、生命周期实例代码详解
2019/09/17 Javascript
layui 富文本编辑器和textarea值的相互传递方法
2019/09/18 Javascript
微信小程序实现签到弹窗动画
2020/09/21 Javascript
Python和perl实现批量对目录下电子书文件重命名的代码分享
2014/11/21 Python
C#返回当前系统所有可用驱动器符号的方法
2015/04/18 Python
Django REST为文件属性输出完整URL的方法
2017/12/18 Python
python 读取Linux服务器上的文件方法
2018/12/27 Python
Django 实现前端图片压缩功能的方法
2019/08/07 Python
css3实现画半圆弧线的示例代码
2017/11/06 HTML / CSS
Zavvi西班牙:电子游戏、极客服装、Blu-ray、Funko Pop等
2019/05/03 全球购物
英国汽车零件购物网站:GSF Car Parts
2019/05/23 全球购物
太太口服液广告词
2014/03/20 职场文书
经营管理策划方案
2014/05/22 职场文书
党员干部廉政承诺书
2015/04/28 职场文书
婚姻出轨保证书
2015/05/08 职场文书
小学体育队列队形教学反思
2016/02/16 职场文书
《祁黄羊》教学反思
2016/02/20 职场文书
python删除csv文件的行列
2021/04/06 Python
用position:sticky完美解决小程序吸顶问题的实现方法
2021/04/24 HTML / CSS
TS 类型兼容教程示例详解
2022/09/23 Javascript