微信小程序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 相关文章推荐
Extjs单独定义各组件的实例代码
Jun 25 Javascript
JS+CSS 制作的超级简单的下拉菜单附图
Nov 22 Javascript
js格式化时间的方法
Dec 18 Javascript
Jquery实现上下移动和排序代码
Oct 17 Javascript
利用angularjs1.4制作的简易滑动门效果
Feb 28 Javascript
深入理解AngularJs-scope的脏检查(一)
Jun 19 Javascript
vue2.0与bootstrap3实现列表分页效果
Nov 28 Javascript
Vue条件循环判断+计算属性+绑定样式v-bind的实例
Sep 18 Javascript
VUE中使用MUI方法
Feb 12 Javascript
layui在form表单页面通过Validform加入简单验证的方法
Sep 06 Javascript
JS中的模糊查询功能
Dec 08 Javascript
Ajax获取node服务器数据的完整步骤
Sep 20 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基础学习之变量的使用
2011/06/09 PHP
redis 队列操作的例子(php)
2012/04/12 PHP
php字符串操作常见问题小结
2016/10/11 PHP
jQuery选择没有colspan属性的td的代码
2010/07/06 Javascript
ExtJs Excel导出并下载IIS服务器端遇到的问题
2011/09/16 Javascript
ListBox实现上移,下移,左移,右移的简单实例
2014/02/13 Javascript
使用JS+plupload直接批量上传图片到又拍云
2014/12/01 Javascript
javascript操作表格排序实例分析
2015/05/06 Javascript
图解Sublime Text3使用技巧
2015/12/21 Javascript
JS实现动态添加DOM节点和事件的方法示例
2017/04/28 Javascript
React-router4路由监听的实现
2018/08/07 Javascript
脚手架vue-cli工程webpack的作用和特点
2018/09/29 Javascript
vue调试工具vue-devtools安装及使用方法
2018/11/07 Javascript
微信小程序缓存过期时间的使用详情
2019/05/12 Javascript
微信小程序实现图片压缩
2019/12/03 Javascript
JS实现基本的网页计算器功能示例
2020/01/16 Javascript
ElementUI Tree 树形控件的使用并给节点添加图标
2020/02/27 Javascript
JavaScript正则表达式验证登录实例
2020/03/18 Javascript
javascript中contains是否包含功能实现代码(扩展字符、数组、dom)
2020/04/07 Javascript
nuxt 服务器渲染动态设置 title和seo关键字的操作
2020/11/05 Javascript
记录一次websocket封装的过程
2020/11/23 Javascript
javascript中call,apply,bind的区别详解
2020/12/11 Javascript
selenium python浏览器多窗口处理代码示例
2018/01/15 Python
Python装饰器原理与简单用法实例分析
2018/04/29 Python
解决python nohup linux 后台运行输出的问题
2018/05/11 Python
python matplotlib拟合直线的实现
2019/11/19 Python
html5 worker 实例(一) 为什么测试不到效果
2013/06/24 HTML / CSS
zooplus德国:便宜地订购动物用品、动物饲料、动物食品
2020/05/06 全球购物
广告学专业应届生求职信
2013/10/01 职场文书
活动总结怎么写啊
2014/05/07 职场文书
弘扬民族精神演讲稿
2014/05/07 职场文书
春节联欢会策划方案
2014/05/16 职场文书
青春励志演讲稿范文
2014/08/25 职场文书
企业爱岗敬业演讲稿
2014/09/04 职场文书
音乐教师个人工作总结
2015/02/06 职场文书
统招统分证明
2015/06/23 职场文书