微信小程序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 函数对象的多重身份
Jun 28 Javascript
jquery 问答知识整理
Feb 11 Javascript
JS重要知识点小结
Nov 06 Javascript
js通过元素class名字获取元素集合的具体实现
Jan 06 Javascript
js中的如何定位固定层的位置
Jun 15 Javascript
JavaScript中使用自然对数ln的方法
Jun 14 Javascript
bootstrap-wysiwyg结合ajax实现图片上传实时刷新功能
May 27 Javascript
jquery实现界面无刷新加载登陆注册
Jul 30 Javascript
JS实现的自动打字效果示例
Mar 10 Javascript
ES6(ECMAScript 6)新特性之模板字符串用法分析
Apr 01 Javascript
js中的闭包学习心得
Feb 06 Javascript
如何用JS实现网页瀑布流布局
Apr 24 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
基于mysql的bbs设计(一)
2006/10/09 PHP
PHP CURL或file_get_contents获取网页标题的代码及两者效率的稳定性问题
2015/11/30 PHP
PHP版单点登陆实现方案的实例
2016/11/17 PHP
(JS实现)MapBar中坐标的加密和解密的脚本
2007/05/16 Javascript
javascript 表单规则集合对象
2009/07/21 Javascript
jquery的Theme和Theme Switcher使用小结
2010/09/08 Javascript
JQuery 拾色器插件发布-jquery.icolor.js
2010/10/20 Javascript
33个优秀的 jQuery 图片展示插件分享
2012/03/14 Javascript
js实现防止被iframe的方法
2015/07/03 Javascript
jQuery遍历DOM元素与节点方法详解
2016/04/14 Javascript
JavaScript的变量声明提升问题浅析(Hoisting)
2016/11/30 Javascript
js实现点击按钮弹出上传文件的窗口
2016/12/23 Javascript
iview中Select 选择器多选校验方法
2018/03/15 Javascript
vue和webpack安装命令详解
2018/06/15 Javascript
JavaScript去掉数组重复项的方法分析【测试可用】
2018/07/19 Javascript
jquery实现的简单轮播图功能【适合新手】
2018/08/17 jQuery
webpack 3.X学习之多页面打包的方法
2018/09/04 Javascript
基于JavaScript判断两个对象内容是否相等
2020/01/10 Javascript
echarts柱状图背景重叠组合而非并列的实现代码
2020/12/10 Javascript
jQuery实现鼠标拖动图片功能
2021/03/04 jQuery
Python中的数据对象持久化存储模块pickle的使用示例
2016/03/03 Python
numpy中以文本的方式存储以及读取数据方法
2018/06/04 Python
Python中应该使用%还是format来格式化字符串
2018/09/25 Python
Python基于mysql实现学生管理系统
2019/02/21 Python
python GUI实现小球满屏乱跑效果
2019/05/09 Python
pytorch中tensor张量数据类型的转化方式
2019/12/31 Python
通过canvas转换颜色为RGBA格式及性能问题的解决
2019/11/22 HTML / CSS
美国专营婴幼儿用品的购物网站:buybuy BABY
2017/01/01 全球购物
英国版MAC彩妆品牌:Illamasqua
2018/04/18 全球购物
手工制作的意大利太阳镜和光学元件:Illesteva
2019/01/19 全球购物
介绍一下#error预处理
2015/09/25 面试题
社会学专业学生职业规划书
2014/02/07 职场文书
歌唱比赛主持词
2014/03/18 职场文书
初中语文教学随笔
2015/08/15 职场文书
叶县这家生产军用电台的兵工厂,人称“四机部”,走出一上将
2022/02/18 无线电
Android自定义双向滑动控件
2022/04/19 Java/Android