vue实现nav导航栏的方法


Posted in Javascript onDecember 13, 2017

每一个网页项目都少不了导航栏,通过原始的方法基本上都是可以写出来的。但是要写出代码量少,冗余度低的代码就要动脑子思考一下了。

最近写了一个百度地图的项目,要求底部有一个导航栏。具体如下图:

vue实现nav导航栏的方法

首先,拿到了底部导航栏的所有图标图片,图片都有两种。灰色的代表未选中,选中的用带样色的图片替换。

先看一下,组件中 html结构:通过vue提供的v-for方法,进行遍历显示footNav这个数组。数组里边存放着{title:"银行",url:" ",url1:" "},将图片的 src与isSelect进行绑定,并进行判断,如果等于当前的title时即为选中当前的导航,显示选中时的图片url1。

<div class="footer">
 <ul>
 <li v-for="item in footNav" @click="selectMapNav(item.title)">
 <img :src="isSelect === item.title ? item.url1 : item.url" alt="">
 <p>{{item.title}}</p>
 </li>
 </ul>
</div>

样式用的是扩展语言less写的,应该都能看懂,只是简单的嵌套了一下。给这个地步加一个宽为100%,固定的高度。因为要固定在底部显示,所以加了一个固定定位和背景颜色。写的是手机端项目,浏览器都比较新,所以不用考虑兼容问题。大胆的flex布局可以很方便的实现导航栏。

.footer ul{
 width:100%;
 height:50px;
 position:fixed;
 bottom:0;
 z-index:1;
 background-color:#fff;
 display:flex;
 li{
 text-align:center;
 flex:1;
 img{height:23px;width:23px;margin-top:5px;}
 p{font-size:0.1rem;height:15px;line-height:10px;}
 }
}

在vue data () 中定义一个数组,里边存放每一个导航的标题,如‘银行',未选中时显示的图片url,选中时的图片url1。isSelect表示当前选中的,默认选中银行。

isSelect: '银行',
footNav: [{title: '银行', url: '../../../static/baiduMap/23@2x.png', url1: '../../../static/baiduMap/22@2x.png'},
 {title: '公交 ', url: '../../../static/baiduMap/11@2x.png', url1: '../../../static/baiduMap/10@2x.png'},
 {title: '地铁 ', url: '../../../static/baiduMap/13@2x.png', url1: '../../../static/baiduMap/12@2x.png'},
 {title: '教育 ', url: '../../../static/baiduMap/15@2x.png', url1: '../../../static/baiduMap/14@2x.png'},
 {title: '医院 ', url: '../../../static/baiduMap/17@2x.png', url1: '../../../static/baiduMap/16@2x.png'},
 {title: '休闲 ', url: '../../../static/baiduMap/19@2x.png', url1: '../../../static/baiduMap/18@2x.png'},
 {title: '购物 ', url: '../../../static/baiduMap/21@2x.png', url1: '../../../static/baiduMap/20@2x.png'}
]

在methods方法中,写上html中调用的事件。通过html结构层那里的点击事件selectMapNav(item.title)传过来的title赋值给isSelect即可实现导航栏的点击状态的变化。

selectMapNav (title) {
 this.isSelect = title }

来看一下最终的结果,很完美。

vue实现nav导航栏的方法

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Javascript &amp; DHTML 实例编程(教程)DOM基础和基本API
Jun 02 Javascript
Javascript 对象的解释
Nov 24 Javascript
JavaScript flash复制库类 Zero Clipboard
Jan 17 Javascript
JavaScript中的稀疏数组与密集数组[译]
Sep 17 Javascript
使用pjax实现无刷新更改页面url
Feb 05 Javascript
10个很棒的jQuery代码片段
Sep 24 Javascript
javascript实现全角转半角的方法
Jan 23 Javascript
使用openSpeDiv方法实现Ecshop登录弹窗框效果
Mar 13 Javascript
关于js中的鼠标事件总结
Jul 11 Javascript
js module大战
Apr 19 Javascript
详解微信小程序图片地扯转base64解决方案
Aug 18 Javascript
Node.js+Vue脚手架环境搭建的方法步骤
Mar 08 Javascript
vue实现导航栏效果(选中状态刷新不消失)
Dec 13 #Javascript
仿京东快报向上滚动的实例
Dec 13 #Javascript
Angular2使用vscode断点调试ts文件的方法
Dec 13 #Javascript
vue-router路由懒加载和权限控制详解
Dec 13 #Javascript
JS+canvas画一个圆锥实例代码
Dec 13 #Javascript
JS排序算法之冒泡排序,选择排序与插入排序实例分析
Dec 13 #Javascript
实例分析js事件循环机制
Dec 13 #Javascript
You might like
PHP 文件扩展名 获取函数
2009/06/03 PHP
php批量缩放图片的代码[ini参数控制]
2011/02/11 PHP
PHP高级对象构建 多个构造函数的使用
2012/02/05 PHP
php中多维数组按指定value排序的实现代码
2014/08/19 PHP
PHP微信开发之根据用户回复关键词\位置返回附近信息
2016/06/24 PHP
PHP让网站移动访问更加友好方法
2019/02/14 PHP
PHP获取真实IP及IP模拟方法解析
2020/11/24 PHP
javascript call和apply方法
2008/11/24 Javascript
JSON扫盲帖 JSON.as类教程
2009/02/16 Javascript
UserData用法总结 lanyu出品
2010/07/01 Javascript
jQuery 源码分析笔记(3) Deferred机制
2011/06/19 Javascript
document.all的一个比较完整的总结及案例
2013/01/31 Javascript
早该知道的7个JavaScript技巧
2013/03/27 Javascript
Linux下为Node.js程序配置MySQL或Oracle数据库的方法
2016/03/19 Javascript
Bootstrap实现下拉菜单效果
2016/04/29 Javascript
js定时器实例分享
2016/12/20 Javascript
javascript 中设置window.location.href跳转无效问题解决办法
2017/02/09 Javascript
Vue中建立全局引用或者全局命令的方法
2017/08/21 Javascript
原生JavaScrpit中异步请求Ajax实现方法
2017/11/03 Javascript
浅谈vue-router2路由参数注意的问题
2017/11/08 Javascript
全面介绍vue 全家桶和项目实例
2017/12/27 Javascript
Node.js 使用AngularJS的方法示例
2018/05/11 Javascript
关于vue的语法规则检测报错问题的解决
2018/05/21 Javascript
JS实现关键词高亮显示正则匹配
2018/06/22 Javascript
vue 实现在函数中触发路由跳转的示例
2018/09/01 Javascript
vue实现浏览器全屏展示功能
2019/11/27 Javascript
python实现数通设备端口监控示例
2014/04/02 Python
利用python批量爬取百度任意类别的图片的实现方法
2020/10/07 Python
英国山地公路自行车商店:Tweeks Cycles
2018/03/16 全球购物
匡威爱尔兰官网:Converse爱尔兰
2019/06/09 全球购物
行政助理求职自荐信
2013/10/26 职场文书
厨房领班竞聘演讲稿
2014/04/23 职场文书
岗位说明书怎么写
2014/07/30 职场文书
诉讼授权委托书
2014/10/15 职场文书
干部考察材料范文
2014/12/24 职场文书
党风廉政建设个人总结
2015/03/06 职场文书