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拖拽div实现思路
Feb 19 Javascript
jQuery实现仿Alipay支付宝首页全屏焦点图切换特效
May 04 Javascript
详解jQuery中的元素的属性和相关操作
Aug 14 Javascript
jQuery实现选项卡切换效果简单演示
Dec 09 Javascript
简单解析JavaScript中的__proto__属性
May 10 Javascript
JavaScript String(字符串)对象的简单实例(推荐)
Aug 31 Javascript
完美解决IE不支持Data.parse()的问题
Nov 24 Javascript
修改npm全局安装模式的路径方法
May 15 Javascript
在Koa.js中实现文件上传的接口功能
Oct 08 Javascript
Vue Elenent实现表格相同数据列合并
Nov 30 Vue.js
Nest.js环境变量配置与序列化详解
Feb 21 Javascript
js实现上传图片到服务器
Apr 11 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
phpMyAdmin 安装教程全攻略
2007/03/19 PHP
显示程序执行时间php函数代码
2013/08/29 PHP
php遍历类中包含的所有元素的方法
2015/05/12 PHP
php实现word转html的方法
2016/01/22 PHP
自动完成JS类(纯JS, Ajax模式)
2009/03/12 Javascript
js change,propertychange,input事件小议
2011/12/20 Javascript
NodeJS的模块写法入门(实例代码)
2012/03/07 NodeJs
jQuery语法小结(超实用)
2015/12/31 Javascript
基于BootStrap Metronic开发框架经验小结【七】数据的导入、导出及附件的查看处理
2016/05/12 Javascript
NodeJS、NPM安装配置步骤(windows版本) 以及环境变量详解
2017/05/13 NodeJs
zTree树形插件异步加载方法详解
2017/06/14 Javascript
微信小程序顶部可滚动导航效果
2017/10/31 Javascript
nodejs简单实现TCP服务器端和客户端的聊天功能示例
2018/01/04 NodeJs
vue+webpack实现异步组件加载的方法
2018/02/03 Javascript
JS中的JSON对象的定义和取值实现代码
2018/05/09 Javascript
详解Vue-cli3 项目在安卓低版本系统和IE上白屏问题解决
2019/04/14 Javascript
this.$toast() 了解一下?
2019/04/18 Javascript
JS实现动态星空背景效果
2019/11/01 Javascript
vue中组件通信详解(父子组件, 爷孙组件, 兄弟组件)
2020/07/27 Javascript
JS如何调用WebAssembly编译出来的.wasm文件
2020/11/05 Javascript
[02:43]DOTA2英雄基础教程 德鲁伊
2014/01/13 DOTA
零基础写python爬虫之爬虫的定义及URL构成
2014/11/04 Python
Python Web框架Flask中使用百度云存储BCS实例
2015/02/08 Python
在Python中进行自动化单元测试的教程
2015/04/15 Python
详解Python里使用正则表达式的ASCII模式
2017/11/02 Python
python 3.6.7实现端口扫描器
2019/09/04 Python
林清轩官方网站:山茶花润肤油开创者
2016/10/26 全球购物
罗技英国官方网站:Logitech UK
2020/11/03 全球购物
酒店公关部经理岗位职责
2013/11/24 职场文书
党课学习思想汇报
2014/01/02 职场文书
安全宣传标语
2014/06/10 职场文书
好的促销活动方案
2014/08/21 职场文书
活动总结新闻稿
2014/08/30 职场文书
2015年化妆品销售工作总结
2015/05/11 职场文书
2019最新婚庆对联集锦!
2019/07/10 职场文书
SQL Server2019安装的详细步骤实战记录(亲测可用)
2022/06/10 SQL Server