微信小程序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 相关文章推荐
alixixi runcode.asp的代码不错的应用
Aug 08 Javascript
AJAX的跨域与JSONP(为文章自动添加短址的功能)
Jan 17 Javascript
微信小程序页面间通信的5种方式
Mar 31 Javascript
Vue.js进阶知识点总结
Apr 01 Javascript
vue中使用axios post上传头像/图片并实时显示到页面的方法
Sep 27 Javascript
支付宝小程序tabbar底部导航
Nov 06 Javascript
微信小程序登录按钮遮罩浮层效果的实现方法
Dec 16 Javascript
JavaScript函数的特性与应用实践深入详解
Dec 30 Javascript
js console.log打印对象时属性缺失的解决方法
May 23 Javascript
react 组件传值的三种方法
Jun 03 Javascript
原生JS实现相邻月份日历
Oct 13 Javascript
vue 实现click同时传入事件对象和自定义参数
Jan 29 Vue.js
详解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中的登陆login
2007/01/18 PHP
PHP处理SQL脚本文件导入到MySQL的代码实例
2014/03/17 PHP
PHP实现微信公众平台音乐点播
2014/03/20 PHP
php使用fopen创建utf8编码文件的方法
2014/10/31 PHP
php微信公众平台开发(三)订阅事件处理
2016/12/06 PHP
PHP使用zlib扩展实现GZIP压缩输出的方法详解
2018/04/09 PHP
thinkPHP框架实现的简单计算器示例
2018/12/07 PHP
php常用字符串查找函数strstr()与strpos()实例分析
2019/06/21 PHP
php 使用expat方式解析xml文件操作示例
2019/11/26 PHP
TimergliderJS 一个基于jQuery的时间轴插件
2011/12/07 Javascript
JS控制阿拉伯数字转为中文大写示例代码
2013/09/04 Javascript
js获取系统的根路径实现介绍
2013/09/08 Javascript
js判断设备是否为PC并调整图片大小
2014/02/12 Javascript
jQuery简单实现网页选项卡特效
2014/11/24 Javascript
javascript设计模式--策略模式之输入验证
2015/11/27 Javascript
谈谈我对JavaScript原型和闭包系列理解(随手笔记9)
2015/12/24 Javascript
基于Bootstrap实现下拉菜单项和表单导航条(两个菜单项,一个下拉菜单和登录表单导航条)
2016/07/22 Javascript
基于vue2.x的电商图片放大镜插件的使用
2018/01/22 Javascript
JavaScript正则表达式函数总结(常用)
2018/02/22 Javascript
JS实现audio音频剪裁剪切复制播放与上传(步骤详解)
2020/07/28 Javascript
[55:18]Liquid vs Chaos 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
详解Python中用于计算指数的exp()方法
2015/05/14 Python
python实现矩阵乘法的方法
2015/06/28 Python
使用python 爬虫抓站的一些技巧总结
2018/01/10 Python
Python 内置函数进制转换的用法(十进制转二进制、八进制、十六进制)
2018/04/30 Python
Python 实现异步调用函数的示例讲解
2018/10/14 Python
python如何获取列表中每个元素的下标位置
2019/07/01 Python
Pytorch中膨胀卷积的用法详解
2020/01/07 Python
Tensorflow获取张量Tensor的具体维数实例
2020/01/19 Python
通过实例解析python创建进程常用方法
2020/06/19 Python
Python return语句如何实现结果返回调用
2020/10/15 Python
德国箱包网上商店:koffer24.de
2016/07/27 全球购物
幼儿园美术教学反思
2014/01/31 职场文书
护理专科学生自荐书
2014/07/05 职场文书
科学发展观演讲稿
2014/09/11 职场文书
Java比较两个对象中全部属性值是否相等的方法
2021/08/07 Java/Android