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 相关文章推荐
显示js对象所有属性和方法的函数
Oct 16 Javascript
js鼠标及对象坐标控制属性详细解析
Dec 14 Javascript
jQuery实现的可编辑表格完整实例
Jun 20 Javascript
简单的js计算器实现
Oct 26 Javascript
关于JavaScript中forEach和each用法浅析
Jul 27 Javascript
JS简单实现点击跳转登陆邮箱功能的方法
Oct 31 Javascript
用jquery获取select标签中选中的option值及文本的示例
Jan 25 jQuery
Vue2 轮播图slide组件实例代码
May 31 Javascript
微信小程序实现日期格式化和倒计时
Nov 01 Javascript
node实现简单的增删改查接口实例代码
Aug 22 Javascript
微信小程序页面调用自定义组件内的事件详解
Sep 12 Javascript
vue treeselect获取当前选中项的label实例
Aug 31 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者的疑难问答(2)
2006/10/09 PHP
php数据库连接时容易出错的特殊符号问题
2010/09/01 PHP
从零开始学YII2框架(四)扩展插件yii2-kartikgii
2014/08/20 PHP
php cli模式下获取参数的方法
2017/05/05 PHP
使用composer命令加载vendor中的第三方类库 的方法
2019/07/09 PHP
css动画效果之animation的常用样式
2021/03/09 HTML / CSS
讲两件事:1.this指针的用法小探. 2.ie的attachEvent和firefox的addEventListener在事件处理上的区别
2007/04/12 Javascript
IE6下JS动态设置图片src地址问题
2010/01/08 Javascript
JavaScript实现检查页面上的广告是否被AdBlock屏蔽了的方法
2014/11/03 Javascript
node.js中的fs.lstat方法使用说明
2014/12/16 Javascript
JS延时提示框实现方法详解
2015/11/26 Javascript
解析NodeJs的调试方法
2016/12/11 NodeJs
JSON在Javascript中的使用(eval和JSON.parse的区别)详细解析
2017/09/05 Javascript
javascript按钮禁用和启用的效果实例代码
2017/10/29 Javascript
解决使用Vue.js显示数据的时,页面闪现原始代码的问题
2018/02/11 Javascript
浅谈Vue2.0中v-for迭代语法的变化(key、index)
2018/03/06 Javascript
vue项目中jsonp跨域获取qq音乐首页推荐问题
2018/05/30 Javascript
js数组去重的N种方法(小结)
2018/06/07 Javascript
浅谈webpack devtool里的7种SourceMap模式
2019/01/14 Javascript
Vue ​v-model相关知识总结
2021/01/28 Vue.js
python实现内存监控系统
2021/03/07 Python
python3实现随机数
2018/06/25 Python
python实现简易动态时钟
2018/11/19 Python
django celery redis使用具体实践
2019/04/08 Python
Python3内置模块之json编解码方法小结【推荐】
2020/12/09 Python
python如何对链表操作
2020/10/10 Python
详解使用postMessage解决iframe跨域通信问题
2019/11/01 HTML / CSS
世界第一冲浪品牌:O’Neill
2016/08/30 全球购物
介绍下Lucene建立索引的过程
2016/03/02 面试题
二年级语文教学反思
2014/02/02 职场文书
宾馆仓管员岗位职责
2014/07/27 职场文书
体育专业大学生职业生涯规划范文:打造自己的运动帝国
2014/09/12 职场文书
2014年党员干部四风问题自我剖析材料
2014/09/29 职场文书
代办社保委托书范文
2014/10/06 职场文书
2014年班主任工作总结
2014/11/08 职场文书
spring 项目实现限流方法示例
2022/07/15 Java/Android