微信小程序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 array(数组)使用字符串作为数组下标的方法
Nov 19 Javascript
javascript实现验证身份证号的有效性并提示
Apr 30 Javascript
基于jQuery实现文本框只能输入数字(小数、整数)
Jan 14 Javascript
Vue2学习笔记之请求数据交互vue-resource
Feb 23 Javascript
浅谈vue中使用图片懒加载vue-lazyload插件详细指南
Oct 23 Javascript
jQuery NProgress.js加载进度插件的简单使用方法
Jan 31 jQuery
详解Node.js中的Async和Await函数
Feb 22 Javascript
解决vue-cli3 使用子目录部署问题
Jul 19 Javascript
react 应用多入口配置及实践总结
Oct 17 Javascript
微信小程序调用微信支付接口的实现方法
Apr 29 Javascript
泛谈JS逻辑判断选择器 || &amp;&amp;
May 24 Javascript
Element InfiniteScroll无限滚动的具体使用方法
Jul 27 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+xslt在windows平台上
2006/10/09 PHP
PHP写MySQL数据 实现代码
2009/06/15 PHP
深入解析Laravel5.5中的包自动发现Package Auto Discovery
2017/09/13 PHP
IE和FireFox(FF)中js和css的不同
2009/04/13 Javascript
js网页滚动条滚动事件实例分析
2015/05/05 Javascript
JS跨域解决方案之使用CORS实现跨域
2016/04/14 Javascript
jQuery遍历DOM节点操作之filter()方法详解
2016/04/14 Javascript
json对象与数组以及转换成js对象的简单实现方法
2016/06/24 Javascript
D3.js实现折线图的方法详解
2016/09/21 Javascript
JavaScript计时器用法分析【setTimeout和clearTimeout】
2017/01/18 Javascript
初识NodeJS服务端开发入门(Express+MySQL)
2017/04/07 NodeJs
vue如何在自定义组件中使用v-model
2018/05/14 Javascript
Node.js + express基本用法教程
2019/03/14 Javascript
Angular中使用ng-zorro图标库部分图标不能正常显示问题
2019/04/22 Javascript
Nuxt.js的路由跳转操作(页面跳转nuxt-link)
2020/11/06 Javascript
[57:29]Alliance vs KG 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/17 DOTA
[00:37]食人魔魔法师轮盘吉兆顺应全新至宝将拥有额外款式
2019/12/19 DOTA
python实现清屏的方法
2015/04/30 Python
深入解析Python中函数的参数与作用域
2016/03/20 Python
Python批量合并有合并单元格的Excel文件详解
2018/04/05 Python
matplotlib 输出保存指定尺寸的图片方法
2018/05/24 Python
python实现坦克大战游戏 附详细注释
2020/03/27 Python
Windows10下Tensorflow2.0 安装及环境配置教程(图文)
2019/11/21 Python
基于python实现微信好友数据分析(简单)
2020/02/16 Python
python3使用Pillow、tesseract-ocr与pytesseract模块的图片识别的方法
2020/02/26 Python
Python基于当前时间批量创建文件
2020/05/07 Python
小学家长会邀请函
2014/01/23 职场文书
座谈会主持词
2014/03/20 职场文书
教师个人年终总结
2015/02/11 职场文书
观后感格式
2015/06/19 职场文书
2016元旦文艺汇演主持词
2015/07/06 职场文书
初中信息技术教学反思
2016/02/16 职场文书
《我和小伙伴》教学反思
2016/02/20 职场文书
python关于集合的知识案例详解
2021/05/30 Python
python基础入门之普通操作与函数(三)
2021/06/13 Python
Python 数据可视化工具 Pyecharts 安装及应用
2022/04/20 Python