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 IE 与 FF中兼容问题小结
Feb 18 Javascript
jQuery判断元素是否是隐藏的代码
Apr 24 Javascript
jquery垂直公告滚动实现代码
Dec 08 Javascript
Javascript实现的常用算法(如冒泡、快速、鸽巢、奇偶等)
Apr 29 Javascript
jQuery tagsinput在h5邮件客户端中应用详解
Sep 26 Javascript
bootstrap下拉列表与输入框组结合的样式调整
Oct 08 Javascript
学习使用bootstrap的modal和carousel
Dec 09 Javascript
Bootstrap中data-target 到底是什么
Feb 14 Javascript
表格展示利器 Bootstrap Table实例代码
Sep 06 Javascript
jQuery easyui datagird编辑行删除行功能的实现代码
Sep 20 jQuery
eslint 的三大通用规则详解
May 16 Javascript
react-native 实现购物车滑动删除效果的示例代码
Jan 15 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
关于页面优化和伪静态
2009/10/11 PHP
php读取mysql中文数据出现乱码的解决方法
2013/08/16 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(九)
2014/06/24 PHP
浅析get与post的一些特殊情况
2014/07/28 PHP
php设计模式之适配器模式实例分析【星际争霸游戏案例】
2020/04/07 PHP
如何通过PHP实现Des加密算法代码实例
2020/05/09 PHP
Jquery插件easyUi表单验证提交(示例代码)
2013/12/30 Javascript
JavaScript中的null和undefined区别介绍
2015/01/01 Javascript
详解JavaScript的回调函数
2015/11/20 Javascript
工作中比较实用的JavaScript验证和数据处理的干货(经典)
2016/08/03 Javascript
Angularjs使用ng-repeat中$even和$odd属性的注意事项
2016/12/31 Javascript
总结几道关于Node.js的面试问题
2017/01/11 Javascript
基于JavaScript实现的希尔排序算法分析
2017/04/14 Javascript
理解 Node.js 事件驱动机制的原理
2017/08/16 Javascript
Spring Boot/VUE中路由传递参数的实现代码
2018/03/02 Javascript
js+canvas实现滑动拼图验证码功能
2018/03/26 Javascript
jQuery实现的简单获取索引功能示例
2018/06/04 jQuery
微信小程序实现多个按钮的颜色状态转换
2019/02/15 Javascript
[49:40]2018DOTA2亚洲邀请赛小组赛 A组加赛 TNC vs Newbee
2018/04/03 DOTA
Python中多线程的创建及基本调用方法
2016/07/08 Python
在PyCharm下使用 ipython 交互式编程的方法
2019/01/17 Python
详解用Python实现自动化监控远程服务器
2019/05/18 Python
Tensorflow的常用矩阵生成方式
2020/01/04 Python
python怎么调用自己的函数
2020/07/01 Python
python打开音乐文件的实例方法
2020/07/21 Python
深入了解Python 方法之类方法 & 静态方法
2020/08/17 Python
Python可以用来做什么
2020/11/23 Python
IE支持HTML5的解决方法
2009/10/20 HTML / CSS
Turnbull & Asser官网:英国皇室御用的顶级定制衬衫
2019/01/31 全球购物
安全资金保障制度
2014/01/23 职场文书
施工单位安全责任书
2014/07/24 职场文书
整改落实情况汇报材料
2014/10/29 职场文书
研究生给导师的自荐信
2015/03/06 职场文书
2015学校六五普法工作总结
2015/04/22 职场文书
如何正确理解python装饰器
2021/06/15 Python
Nginx反向代理至go-fastdfs案例讲解
2021/08/02 Servers