微信小程序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 数组实现一个类似ruby的迭代器
Oct 27 Javascript
jQuery 选择表格(table)里的行和列及改变简单样式
Dec 15 Javascript
JS短路原理的应用示例 精简代码的途径
Dec 13 Javascript
JS+CSS实现的日本门户网站经典选项卡导航效果
Sep 27 Javascript
原生js和jquery分别实现横向导航菜单效果
May 13 Javascript
JQuery validate插件Remote用法大全
May 15 Javascript
React Native实现简单的登录功能(推荐)
Sep 19 Javascript
D3.js实现柱状图的方法详解
Sep 21 Javascript
vue loadmore 组件滑动加载更多源码解析
Jul 19 Javascript
关于webpack代码拆分的解析
Jul 20 Javascript
微信小程序获取用户信息及手机号(后端TP5.0)
Sep 12 Javascript
你不可不知的Vue.js列表渲染详解
Oct 01 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
DISCUZ 论坛管理员密码忘记的解决方法
2009/05/14 PHP
php flv视频时间获取函数
2010/06/29 PHP
PHP发明人谈MVC和网站设计架构 貌似他不支持php用mvc
2011/06/04 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(二)
2014/06/23 PHP
WordPress中限制非管理员用户在文章后只能评论一次
2015/12/31 PHP
PHP转换文本框内容为HTML格式的方法
2016/07/20 PHP
PHP基于关联数组20行代码搞定约瑟夫问题示例
2017/11/07 PHP
jquery插件制作 表单验证实现代码
2012/08/17 Javascript
JavaScript实现动态创建CSS样式规则方案
2014/09/06 Javascript
node.js中的console.log方法使用说明
2014/12/09 Javascript
高性能JavaScript模板引擎实现原理详解
2015/02/05 Javascript
用nodeJS搭建本地文件服务器的几种方法小结
2017/03/16 NodeJs
微信小程序自动客服功能
2017/11/02 Javascript
详解vue 计算属性与方法跟侦听器区别(面试考点)
2018/04/23 Javascript
vue.js与后台数据交互的实例讲解
2018/08/08 Javascript
JS函数动态传递参数的方法分析【基于arguments对象】
2019/06/05 Javascript
一篇文章带你搞懂Vue虚拟Dom与diff算法
2020/08/25 Javascript
[03:40]DOTA2英雄梦之声_第01期_炼金术士
2014/06/23 DOTA
Python实现将一个大文件按段落分隔为多个小文件的简单操作方法
2017/04/17 Python
python实现用户答题功能
2018/01/17 Python
Tensorflow卷积神经网络实例进阶
2018/05/24 Python
Python使用random.shuffle()打乱列表顺序的方法
2018/11/08 Python
Python面向对象程序设计类的多态用法详解
2019/04/12 Python
Django缓存系统实现过程解析
2019/08/02 Python
Python数据可视化:幂律分布实例详解
2019/12/07 Python
Python模块 _winreg操作注册表
2020/02/05 Python
Python unittest基本使用方法代码实例
2020/06/29 Python
Python2与Python3关于字符串编码处理的差别总结
2020/09/07 Python
Traffic People官网:女式花裙、上衣和连身裤
2020/10/12 全球购物
铲车司机岗位职责
2014/03/15 职场文书
早会主持词
2014/03/17 职场文书
个人作风建设剖析材料
2014/10/11 职场文书
2014年外联部工作总结
2014/11/17 职场文书
中学教师师德师风承诺书
2015/04/28 职场文书
2015年社区国庆节活动总结
2015/07/30 职场文书
python数字图像处理之图像自动阈值分割示例
2022/06/28 Python