微信小程序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 相关文章推荐
Javascript写了一个清除“logo1_.exe”的杀毒工具(可扫描目录)
Feb 09 Javascript
html中table数据排序的js代码
Aug 09 Javascript
js+css实现回到顶部按钮(back to top)
Mar 02 Javascript
理解javascript正则表达式
Mar 08 Javascript
高效利用Angular中内置服务$http、$location等
Mar 22 Javascript
Jquery 自定义事件实现发布/订阅的简单实例
Jun 12 Javascript
javascript设计模式Constructor(构造器)模式
Aug 19 Javascript
深入了解js原型模式
May 30 Javascript
vue实现文字加密功能
Sep 27 Javascript
VUE动态生成word的实现
Jul 26 Javascript
Vue项目打包编译优化方案
Sep 16 Javascript
动态实现element ui的el-table某列数据不同样式的示例
Jan 22 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
PHP调用VC编写的COM组件实例
2014/03/29 PHP
php中isset与empty函数的困惑与用法分析
2019/07/05 PHP
laravel http 自定义公共验证和响应的方法
2019/09/29 PHP
快速保存网页中所有图片的方法
2006/06/23 Javascript
javascript 装载iframe子页面,自适应高度
2009/03/20 Javascript
MC Dialog js弹出层 完美兼容多浏览器(5.6更新)
2010/05/06 Javascript
js限制textarea每行输入字符串长度的代码
2012/10/31 Javascript
jquery动态添加删除(tr/td)
2015/02/09 Javascript
clipboard.js无需Flash无需依赖任何JS库实现文本复制与剪切
2015/10/10 Javascript
jQuery使用ajax跨域获取数据的简单实例
2016/05/18 Javascript
AngularJS中watch监听用法分析
2016/11/04 Javascript
JSON键值对序列化和反序列化解析
2017/01/24 Javascript
JavaScript实现时钟滴答声效果
2017/01/29 Javascript
详解webpack+angular2开发环境搭建
2017/06/28 Javascript
对vue里函数的调用顺序介绍
2018/03/17 Javascript
JS+HTML实现的圆形可点击区域示例【3种方法】
2018/08/01 Javascript
Nodejs让异步变成同步的方法
2019/03/02 NodeJs
vue引入微信sdk 实现分享朋友圈获取地理位置功能
2019/07/04 Javascript
原生javascript的ajax请求及后台PHP响应操作示例
2020/02/24 Javascript
小谈angular ng deploy的实现
2020/04/07 Javascript
python继承和抽象类的实现方法
2015/01/14 Python
python在windows下创建隐藏窗口子进程的方法
2015/06/04 Python
python bottle框架支持jquery ajax的RESTful风格的PUT和DELETE方法
2017/05/24 Python
关于tf.nn.dynamic_rnn返回值详解
2020/01/20 Python
解决Pytorch自定义层出现多Variable共享内存错误问题
2020/06/28 Python
python入门:argparse浅析 nargs='+'作用
2020/07/12 Python
REISS美国官网:伦敦最受欢迎的时尚品牌
2019/08/16 全球购物
是什么让J2EE适合用来开发多层的分布式的应用
2015/01/16 面试题
财务会计专业个人求职信范本
2014/01/08 职场文书
交通事故调解协议书
2014/04/16 职场文书
暑期教师培训方案
2014/06/07 职场文书
英文邀请函
2015/02/02 职场文书
档案工作个人总结
2015/03/03 职场文书
Spring Boot 底层原理基础深度解析
2022/04/03 Java/Android
MySQL脏读,幻读和不可重复读
2022/05/11 MySQL
redis protocol通信协议及使用详解
2022/07/15 Redis