微信小程序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 相关文章推荐
Json2Template.js 基于jquery的插件 绑定JavaScript对象到Html模板中
Oct 29 Javascript
JavaScript使用DeviceOne开发实战(二) 生成调试安装包
Dec 01 Javascript
EasyUi combotree 实现动态加载树节点
Apr 01 Javascript
jQuery DataTables插件自定义Ajax分页实例解析
Apr 28 Javascript
深入理解jquery中的each用法
Dec 14 Javascript
jQuery插件FusionCharts实现的MSBar2D图效果示例【附demo源码】
Mar 24 jQuery
JavaScript 程序错误Cannot use 'in' operator to search的解决方法
Jul 10 Javascript
详解如何在vue项目中使用eslint+prettier格式化代码
Nov 10 Javascript
实例讲解JavaScript截取字符串
Nov 30 Javascript
使用post方法实现json往返传输数据的方法
Mar 30 Javascript
JavaScript随机数的组合问题案例分析
May 16 Javascript
Vue为什么要谨慎使用$attrs与$listeners
Aug 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采集类snoopy详细介绍(snoopy使用教程)
2014/06/19 PHP
php生成圆角图片的方法
2015/04/07 PHP
PHP输出多个元素的排列或组合的方法
2017/03/14 PHP
php实现算术验证码功能
2018/12/05 PHP
一个cssQuery对象 javascript脚本实现代码
2009/07/21 Javascript
探寻Javascript执行效率问题
2014/11/12 Javascript
JavaScript的原型继承详解
2015/02/15 Javascript
javascript实现的固定位置悬浮窗口实例
2015/04/30 Javascript
Node.js的npm包管理器基础使用教程
2016/05/26 Javascript
JavaScript中的事件委托及好处
2016/07/12 Javascript
运用js教你轻松制作html音乐播放器
2020/04/17 Javascript
jQuery实现二维码扫描功能
2017/01/09 Javascript
javascript 显示全局变量与隐式全局变量的区别
2017/02/09 Javascript
requirejs按需加载angularjs文件实例
2017/06/08 Javascript
JS中mouseup事件丢失的原因与解决办法
2017/06/14 Javascript
AngularJS中filter的使用实例详解
2017/08/25 Javascript
基于Vue实现关键词实时搜索高亮显示关键词
2018/07/21 Javascript
4个顶级开源JavaScript图表库
2018/09/29 Javascript
Element Steps步骤条的使用方法
2020/07/26 Javascript
[01:32]2016国际邀请赛中国区预选赛CDEC战队教练采访
2016/06/26 DOTA
[02:39]我与DAC之Newbee.Moogy:从论坛到TI
2018/03/26 DOTA
Python的math模块中的常用数学函数整理
2016/02/04 Python
Python验证文件是否可读写代码分享
2017/12/11 Python
Python中类的创建和实例化操作示例
2019/02/27 Python
Python实现的列表排序、反转操作示例
2019/03/13 Python
python深copy和浅copy区别对比解析
2019/12/26 Python
pytorch 图像预处理之减去均值,除以方差的实例
2020/01/02 Python
PyCharm中配置PySide2的图文教程
2020/06/18 Python
幼师岗位求职简历的自荐信格式
2013/09/21 职场文书
学生实习自我鉴定
2013/10/11 职场文书
优秀民警事迹材料
2014/01/29 职场文书
警察先进个人事迹材料
2014/05/16 职场文书
工程服务质量承诺书
2015/04/29 职场文书
农村党支部承诺书
2015/04/30 职场文书
2015年七夕情人节活动方案
2015/05/06 职场文书
CSS实现切角+边框+投影+内容背景色渐变效果
2021/11/01 HTML / CSS