微信小程序tabbar底部导航


Posted in Javascript onNovember 05, 2018

微信小程序重写tabbar底部导航,供大家参考,具体内容如下

1.app.js代码如下:

editTabBar: function() {
    var e = this.globalData.tabbar, a = getCurrentPages(), t = a[a.length - 1], s = t.__route__;
    0 != s.indexOf("/") && (s = "/" + s);
    for (var n in e.list) e.list[n].selected = !1, e.list[n].pagePath == s && (e.list[n].selected = !0);
    t.setData({
      tabbar: e
    });
  },
  tabBar: {
    color: "#123",
    selectedColor: "#1ba9ba",
    borderStyle: "#1ba9ba",
    backgroundColor: "#fff",
    list: [ {
      pagePath: "/we7/pages/index/index",
      iconPath: "/we7/resource/icon/home.png",
      selectedIconPath: "/we7/resource/icon/homeselect.png",
      text: "首页"
    }, {
      pagePath: "/we7/pages/user/index/index",
      iconPath: "/we7/resource/icon/user.png",
      selectedIconPath: "/we7/resource/icon/userselect.png",
      text: "我的"
    } ]
  },
  globalData: {
    userInfo: null,
    tabbar: {
      color: "#333",
      selectedColor: "#d0501f",
      backgroundColor: "#ffffff",
      borderStyle: "#d5d5d5",
      list: [ {
        pagePath: "/pages/seller/gzt",
        text: "工作台",
        iconPath: "/pages/images/gzt@3x.png",
        selectedIconPath: "/pages/images/gztxz@3x.png",
        selected: !0
      }, {
        pagePath: "/pages/seller/cp/cplb",
        text: "商品",
        iconPath: "/pages/images/dbdc.png",
        selectedIconPath: "/pages/images/dbdcxz.png",
        selected: !1
      }, 
      position: "bottom"
    }
  },

template.wxml

<template name="tabbar">
  <view class="tabbar_box" style="background-color:{{tabbar.backgroundColor}}; border-top-color:{{tabbar.borderStyle}}; {{tabbar.position=='top'?'top:0':'bottom:0'}}">
    <navigator class="tabbar_nav" openType="redirect" style="width:{{1/tabbar.list.length*100}}%; color:{{item.selected?tabbar.selectedColor:tabbar.color}}" url="{{item.pagePath}}" wx:for="{{tabbar.list}}" wx:key="index">
      <image class="tabbar_icon" src="{{item.selected?item.selectedIconPath:item.iconPath}}"></image>
      <text>{{item.text}}</text>
    </navigator>
  </view>
</template>

3.template.wxss

.tabbar_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-pack: distribute;
  justify-content: space-around;
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 999;
  width: 100%;
  height: 100rpx;
  border-top: 0.5rpx solid #d5d5d5;
}

.tabbar_nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 25rpx;
  height: 100%;
}

.tabbar_icon {
  width: 40rpx;
  height: 40rpx;
}

在需要用的页面(wxml)添加如下代码

<import src="template.wxml"></import>
<template is="tabbar" data="{{tabbar:tabbar}}"></template>

在需要的样式(wxss)添加如下代码

@import "template.wxss";

在需要的js页面添加如下代码:

var dsq, app = getApp();添加在顶部
tabbar: {},在data中添加
app.editTabBar();在onLoad中添加

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

Javascript 相关文章推荐
js 禁止选择功能实现代码(兼容IE/Firefox)
Apr 23 Javascript
来自国外的14个图片放大编辑的jQuery插件整理
Oct 20 Javascript
jquery插件制作 提示框插件实现代码
Aug 17 Javascript
单击按钮显示隐藏子菜单经典案例
Jan 04 Javascript
JQuery实现绚丽的横向下拉菜单
Dec 19 Javascript
javascript动画算法实例分析
Jul 31 Javascript
通过网页查看JS源码中汉字显示乱码的解决方法
Oct 26 Javascript
js判断PC端与移动端跳转
Dec 24 Javascript
Vue.js 通过jQuery ajax获取数据实现更新后重新渲染页面的方法
Aug 09 jQuery
微信小程序全局变量的设置、使用、修改过程解析
Sep 24 Javascript
layui数据表格 table.render 报错的解决方法
Sep 29 Javascript
Nuxt页面级缓存的实现
Mar 09 Javascript
详解webpack+ES6+Sass搭建多页面应用
Nov 05 #Javascript
浅谈vux之x-input使用以及源码解读
Nov 04 #Javascript
小程序实现选择题选择效果
Nov 04 #Javascript
小程序实现单选多选功能
Nov 04 #Javascript
Vuex的基本概念、项目搭建以及入坑点
Nov 04 #Javascript
微信小程序实现登录注册tab切换效果
Dec 29 #Javascript
原生js实现淘宝放大镜效果
Oct 28 #Javascript
You might like
全国FM电台频率大全 - 31 新疆维吾尔族自治区
2020/03/11 无线电
php中使用preg_replace函数匹配图片并加上链接的方法
2013/02/06 PHP
邮箱正则表达式实现代码(针对php)
2013/06/21 PHP
排序算法之PHP版快速排序、冒泡排序
2014/04/09 PHP
PHP常用编译参数中文说明
2014/09/27 PHP
PHP开发注意事项总结
2015/02/04 PHP
php求今天、昨天、明天时间戳的简单实现方法
2016/07/28 PHP
浅谈PHP安全防护之Web攻击
2017/01/03 PHP
浅谈PHP中new self()和new static()的区别
2017/08/11 PHP
[原创]PHP实现字节数Byte转换为KB、MB、GB、TB的方法
2017/08/31 PHP
safari下载文件自动加了html后缀问题
2018/11/09 PHP
JavaScript 基础问答三
2008/12/03 Javascript
javascript 使用 NodeList需要注意的问题
2013/03/04 Javascript
javascript两种function的定义介绍及区别说明
2013/05/02 Javascript
JQuery DataTable删除行后的页面更新利用Ajax解决
2013/05/17 Javascript
javascript实现超炫的向上滑行菜单实例
2015/08/03 Javascript
Vuejs第九篇之组件作用域及props数据传递实例详解
2016/09/05 Javascript
JavaScript实现输入框与清空按钮联动效果
2016/09/09 Javascript
老生常谈javascript变量的命名规范和注释
2016/09/29 Javascript
angularjs通过过滤器返回超链接的方法
2018/10/26 Javascript
Vue中Table组件Select的勾选和取消勾选事件详解
2019/03/19 Javascript
利用不到200行代码写一款属于你自己的js类库
2019/07/08 Javascript
解决vue-cli 打包后自定义动画未执行的问题
2019/11/12 Javascript
[31:29]完美世界DOTA2联赛PWL S3 INK ICE vs Magma 第一场 12.20
2020/12/23 DOTA
Python反射用法实例简析
2017/12/22 Python
使用Python读取大文件的方法
2018/02/11 Python
详解HTML5中rel属性的prefetch预加载功能使用
2016/05/06 HTML / CSS
canvas如何绘制钟表的方法
2017/12/13 HTML / CSS
乌克兰鞋类购物网站:Eobuv.com.ua
2020/11/28 全球购物
交通安全教育制度
2014/02/02 职场文书
教学改革实施方案
2014/03/31 职场文书
财政专业大学生职业生涯规划书
2014/09/17 职场文书
村党支部对照检查材料思想汇报
2014/09/28 职场文书
电影建党伟业观后感
2015/06/01 职场文书
2016年端午节校园广播稿
2015/12/18 职场文书
比较几种Redis集群方案
2021/06/21 Redis