Vue:Vue中的导航浮顶

前言

这段时间忙着找工作写毕业设计,简书好久没更新了。毕业设就是用Vue重构了学院官网,大致功能都完成了,完全实现了前后端分离。MOCK服务器也是在webpack基础上搭建的,有空再写篇文章介绍一下,今天先分享Vue中的导航浮顶。

效果图

正常位置.png
导航浮顶.png

实现思路

正常布局中取得导航栏的距离顶部的位置nav.offsetTop,监听屏幕滚动,当滚动条的距离超过这个值时,将nav的position属性改为fixed。小于时变回原样。思路上很简单。

Vue中的实现

DOM部分

我将navigation封装为一个组件,用一个wrapper包裹住他,这样降低了耦合度。我只需要操作wrapper

mounted.png

在mounted钩子函数中获取导航栏距离顶部的距离,一定要在mounted以后获取,否则会导致数据不正确

计算属性.png

讲获取到的数据转换为一个计算属性,这样不用重复的访问DOM树,增强性能。(其实没多大性能损失)

fix方法.png

我在mounted里面为全局添加滚动事件,这里是它的具体方法。通过$nextTick中重新获取滚动距离,判断滚动条位置,根据结果修改nav的样式

最后

这只是毕业设计中的一小部分,整个毕业设计中,我发现编码不是太大问题,问题是架构的设计,不断扩充的路由表,单组件的复用问题。这些都属于架构层面,事前的思考不够细致。
另一方面是服务器。使用的就是webpack搭建的本地服务器,数据mock很方便,会在后面的文章中给大家介绍。记得关注哦。
就是这样:)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 转载 :OpenDiggawesome-github-vue 是由OpenDigg整理并维护的Vue相关开源项目库...
    果汁密码阅读 23,305评论 8 124
  • %诗无达估 听雨声,说说对这个声音的感觉 自由朗读 遇见一首诗歌,我们留住她的最好方法,就是诵读。 请同学们自由地...
    文釆生辉阅读 5,499评论 0 0
  • 一直以来,APP的UI自动化测试所受到的诟病就是它的ROI很低(ROI:投资回报率,是指通过投资而应返回的价值)。...
    唐T唐X阅读 7,796评论 1 2
  • #幸福是需要修出来的~每天进步1%~幸福实修08班~06~李玉珍# 20170802(46/99) 【幸福三朵玫瑰...
    stx2010阅读 1,137评论 0 1