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 相关文章推荐
ie下动态加态js文件的方法
Sep 13 Javascript
js对象与打印对象分析比较
Apr 23 Javascript
JavaScript伸缩的菜单简单示例
Dec 03 Javascript
Echarts基本用法_动力节点Java学院整理
Aug 11 Javascript
Vue中封装input组件的实例详解
Oct 17 Javascript
CheckBox多选取值及判断CheckBox选中是否为空的实例
Oct 31 Javascript
JavaScript之实现一个简单的Vue示例
Jan 17 Javascript
详解vue中this.$emit()的返回值是什么
Apr 07 Javascript
JAVA面试题 static关键字详解
Jul 16 Javascript
VUE实现密码验证与提示功能
Oct 18 Javascript
使用axios发送post请求,将JSON数据改为form类型的示例
Oct 31 Javascript
js前端面试常见浏览器缓存强缓存及协商缓存实例
Jun 21 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概述.
2006/10/09 PHP
五个PHP程序员工具
2008/05/26 PHP
php使用FFmpeg接口获取视频的播放时长、码率、缩略图以及创建时间
2016/11/07 PHP
PHP DB 数据库连接类定义与用法示例
2019/03/11 PHP
jQuery技巧大放送 学习jquery的朋友可以看下
2009/10/14 Javascript
Jquery Change与bind事件代码
2011/09/29 Javascript
jcrop基本参数一览
2013/07/16 Javascript
js插件方式打开pdf文件(浏览器pdf插件分享)
2013/12/20 Javascript
js中各种类型的变量在if条件中是true还是false
2014/07/16 Javascript
js实现鼠标点击左上角滑动菜单效果代码
2015/09/06 Javascript
详解Javascript事件驱动编程
2016/01/03 Javascript
jQuery获取file控件中图片的宽高与大小
2016/08/04 Javascript
通过bootstrap全面学习less
2016/11/09 Javascript
JS验证不重复验证码
2017/02/10 Javascript
使用node.js对音视频文件加密的实例代码
2017/08/30 Javascript
JavaScrip关于创建常量的知识点
2017/12/07 Javascript
Vue的生命周期操作示例
2019/09/17 Javascript
解决VUE自定义拖拽指令时 onmouseup 与 click事件冲突问题
2020/07/24 Javascript
node.js通过Sequelize 连接MySQL的方法
2020/12/28 Javascript
[07:09]2014DOTA2国际邀请赛-Newbee再次发威成功晋级决赛
2014/07/19 DOTA
Python中的元类编程入门指引
2015/04/15 Python
python 性能优化方法小结
2017/03/31 Python
解决python中用matplotlib画多幅图时出现图形部分重叠的问题
2019/07/07 Python
python字符串分割及字符串的一些常规方法
2019/07/24 Python
关于Python 常用获取元素 Driver 总结
2019/11/24 Python
python Tornado框架的使用示例
2020/10/19 Python
5分钟实现Canvas鼠标跟随动画背景
2019/11/18 HTML / CSS
英国奢侈品网站:MatchesFashion
2016/12/16 全球购物
XML文档面试题
2015/08/05 面试题
开朗女孩的自我评价
2014/02/10 职场文书
幼儿园小班个人工作总结
2015/02/12 职场文书
学生不参加考试检讨书
2015/02/19 职场文书
消防宣传语大全
2015/07/13 职场文书
pytorch 6 batch_train 批训练操作
2021/05/28 Python
Python torch.flatten()函数案例详解
2021/08/30 Python
SQL Server使用CROSS APPLY与OUTER APPLY实现连接查询
2022/05/25 SQL Server