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 相关文章推荐
用jquery实现输入框获取焦点消失文字
Apr 27 Javascript
js通过地址栏给action传值(中文乱码全是问号)
May 02 Javascript
JavaScript:new 一个函数和直接调用函数的区别分析
Jul 10 Javascript
js 声明数组和向数组中添加对象变量的简单实例
Jul 28 Javascript
JavaScript高仿支付宝倒计时页面及代码实现
Oct 21 Javascript
JS常用算法实现代码
Nov 14 Javascript
bootstrap fileinput插件实现预览上传照片功能
Jan 23 Javascript
使用vue2.6实现抖音【时间轮盘】屏保效果附源码
Apr 24 Javascript
深入理解 JS 垃圾回收
Jun 03 Javascript
微信小程序 动态修改页面数据及参数传递过程详解
Sep 27 Javascript
为nuxt项目写一个面包屑cli工具实现自动生成页面与面包屑配置
Sep 29 Javascript
Vue-Ant Design Vue-普通及自定义校验实例
Oct 24 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 mb_convert_encoding文字编码的转换函数介绍
2011/11/10 PHP
解析PHP的session过期设置
2013/06/29 PHP
juqery 学习之六 CSS--css、位置、宽高
2011/02/11 Javascript
Prototype源码浅析 String部分(二)
2012/01/16 Javascript
基于JavaScript实现 获取鼠标点击位置坐标的方法
2013/04/12 Javascript
让网页跳转到指定位置的jquery代码非书签
2013/09/06 Javascript
快速解决jquery之get缓存问题的最简单方法介绍
2013/12/19 Javascript
jQuery实现的多选框多级联动插件
2014/05/02 Javascript
jQuery 写的简单打字游戏可以提示正确和错误的次数
2014/07/01 Javascript
js简单实现竖向tab选项卡的方法
2015/05/04 Javascript
DataTables+BootStrap组合使用Ajax来获取数据并且动态加载dom的方法(排序,过滤,分页等)
2016/11/09 Javascript
AngularJS入门教程之Helloworld示例
2016/12/25 Javascript
iframe与主框架跨域相互访问实现方法
2017/09/14 Javascript
jQuery实现基本隐藏与显示效果的方法详解
2018/09/05 jQuery
node crawler如何添加promise支持
2020/02/01 Javascript
非常漂亮的js烟花效果
2020/03/10 Javascript
Python模仿POST提交HTTP数据及使用Cookie值的方法
2014/11/10 Python
Python和GO语言实现的消息摘要算法示例
2015/03/10 Python
探索Python3.4中新引入的asyncio模块
2015/04/08 Python
程序员的七夕用30行代码让Python化身表白神器
2019/08/07 Python
使用 Supervisor 监控 Python3 进程方式
2019/12/05 Python
解决Keras 自定义层时遇到版本的问题
2020/06/16 Python
Python 常用日期处理 -- calendar 与 dateutil 模块的使用
2020/09/02 Python
python 实现的IP 存活扫描脚本
2020/12/10 Python
BONIA波尼亚新加坡官网:皮革手袋,鞋类和配件
2016/08/25 全球购物
怎样声明接口
2014/09/19 面试题
自动化专业个人求职信范文
2013/12/30 职场文书
如何写一份好的自荐信
2014/01/02 职场文书
关于期中考试的反思
2014/02/02 职场文书
敬老院标语
2014/06/27 职场文书
工商管理本科生求职信
2014/07/13 职场文书
市委常委班子党的群众路线教育实践活动整改措施
2014/10/02 职场文书
工厂仓库管理员岗位职责
2015/04/09 职场文书
Python基础之条件语句详解
2021/06/16 Python
Java十分钟精通进阶适配器模式
2022/04/06 Java/Android
阿里云国际版 使用Nginx作为HTTPS转发代理服务器
2022/05/11 Servers