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 相关文章推荐
基于Jquery的文字滚动跑马灯插件(一个页面多个滚动区)
Jul 26 Javascript
jquery getScript动态加载JS方法改进详解
Nov 15 Javascript
js中的cookie的读写操作示例详解
Apr 17 Javascript
浅谈javascript获取元素transform参数
Jul 24 Javascript
js中对函数设置默认参数值的3种方法
Oct 23 Javascript
AngularJs Understanding the Model Component
Sep 02 Javascript
js微信扫描二维码登录网站技术原理
Dec 01 Javascript
jQuery实现动态添加tr到table的方法
Dec 26 Javascript
jQuery 实现鼠标画框并对框内数据选中的实例代码
Aug 29 jQuery
vue+jquery+lodash实现滑动时顶部悬浮固定效果
Apr 28 jQuery
使用axios请求时,发送formData请求的示例
Oct 29 Javascript
ant design vue 表格table 默认勾选几项的操作
Oct 31 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变量的方法
2015/06/26 PHP
Laravel多用户认证系统示例详解
2018/03/13 PHP
PHP上传文件及图片到七牛的方法
2018/07/25 PHP
php实现数组重复数字统计实例
2018/09/30 PHP
php 使用expat方式解析xml文件操作示例
2019/11/26 PHP
javascript cookie操作类的实现代码小结附使用方法
2010/06/02 Javascript
jquery限制输入字数,并提示剩余字数实现代码
2012/12/24 Javascript
JS模板实现方法
2013/04/03 Javascript
深入理解Java线程编程中的阻塞队列容器
2015/12/07 Javascript
JS使用cookie实现只出现一次的广告代码效果
2017/04/22 Javascript
详解Vue.js之视图和数据的双向绑定(v-model)
2017/06/23 Javascript
vue+webpack模拟后台数据的示例代码
2018/07/26 Javascript
Node.js实现一个HTTP服务器的方法示例
2019/05/13 Javascript
JS实现随机抽选获奖者
2019/11/07 Javascript
微信小程序仿抖音视频之整屏上下切换功能的实现代码
2020/05/24 Javascript
[50:24]VGJ.S vs Pain 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
PHP webshell检查工具 python实现代码
2009/09/15 Python
python实现判断数组是否包含指定元素的方法
2015/07/15 Python
全面了解python字符串和字典
2016/07/07 Python
Python实现的多项式拟合功能示例【基于matplotlib】
2018/05/15 Python
如何使用Python抓取网页tag操作
2020/02/14 Python
jupyter notebook 多行输出实例
2020/04/09 Python
Python库skimage绘制二值图像代码实例
2020/04/10 Python
HTML5之SVG 2D入门1—SVG(可缩放矢量图形)概述
2013/01/30 HTML / CSS
Urban Outfitters美国官网:美国生活方式品牌
2016/08/26 全球购物
意大利在线购买隐形眼镜网站:VisionDirect.it
2019/03/18 全球购物
绘儿乐产品官方在线商店:Crayola.com
2019/09/07 全球购物
一道SQL面试题
2012/12/31 面试题
几个Linux面试题笔试题
2016/08/01 面试题
物流仓储计划书
2014/01/10 职场文书
财务主管岗位职责
2014/02/28 职场文书
高三上学期学习自我评价
2014/04/23 职场文书
文艺演出策划方案
2014/06/07 职场文书
计算机相关专业自荐信
2014/07/02 职场文书
应届本科毕业生求职信
2014/07/23 职场文书
2014年党风建设工作总结
2014/11/19 职场文书