微信小程序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 相关文章推荐
用Jquery实现可编辑表格并用AJAX提交到服务器修改数据
Dec 27 Javascript
JavaScript Window浏览器对象模型方法与属性汇总
Apr 20 Javascript
JavaScript实现动态删除列表框值的方法
Aug 12 Javascript
每天一篇javascript学习小结(基础知识)
Nov 10 Javascript
一个Js文件函数中调用另一个Js文件函数的方法演示
Aug 14 Javascript
input file样式修改以及图片预览删除功能详细概括(推荐)
Aug 17 Javascript
AngularJS遍历获取数组元素的方法示例
Nov 11 Javascript
jQuery实现动画、消失、显现、渐出、渐入效果示例
Sep 06 jQuery
微信小程序实现搜索历史功能
Mar 26 Javascript
基于layui内置模块(element常用元素的操作)
Sep 20 Javascript
Javascript前端下载后台传来的文件流代码实例
Aug 18 Javascript
Vue实现手机号、验证码登录(60s禁用倒计时)
Dec 19 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制作图型计数器的例子
2006/10/09 PHP
PHP学习笔记 用户注册模块用户类以及验证码类
2011/09/20 PHP
PHP分页详细讲解(有实例)
2013/10/30 PHP
php smarty模板引擎的6个小技巧
2014/04/24 PHP
PHP实现利用MySQL保存session的方法
2014/08/23 PHP
php 类中的常量、静态属性、非静态属性的区别
2017/04/09 PHP
学习thinkphp5.0验证类使用方法
2017/11/16 PHP
javascript parseInt 大改造
2009/09/27 Javascript
三种取消选中单选框radio的方法
2014/09/09 Javascript
IE10中flexigrid无法显示数据的解决方法
2015/07/26 Javascript
js立即执行函数: (function ( ){})( ) 与 (function ( ){}( )) 有什么区别?
2015/11/18 Javascript
JavaScript地理位置信息API
2016/06/11 Javascript
boostrapTable的refresh和refreshOptions区别浅析
2017/01/22 Javascript
jQuery中animate()的使用方法及解决$(”body“).animate({“scrollTop”:top})不被Firefox支持的问题
2017/04/04 jQuery
JavaScript实现一个简易的计算器实例代码
2018/05/10 Javascript
浅谈JavaScript_DOM学习篇_图片切换小案例
2019/03/19 Javascript
一文快速详解前端框架 Vue 最强大的功能
2019/05/21 Javascript
vue项目打包后怎样优雅的解决跨域
2019/05/26 Javascript
解决layui-table单元格设置为百分比在ie8下不能自适应的问题
2019/09/28 Javascript
[03:48]DOTA2完美大师赛主赛事第二日精彩集锦
2017/11/24 DOTA
Python数据类型详解(四)字典:dict
2016/05/12 Python
Python中类型检查的详细介绍
2017/02/13 Python
python交互式图形编程实例(三)
2017/11/17 Python
想学python 这5本书籍你必看!
2018/12/11 Python
Python shutil模块用法实例分析
2019/10/02 Python
python常用排序算法的实现代码
2019/11/08 Python
Python+Appium实现自动化清理微信僵尸好友的方法
2021/02/04 Python
html5 postMessage解决跨域、跨窗口消息传递方案
2016/12/20 HTML / CSS
大学生物业管理求职信
2013/10/24 职场文书
大四本科生的自我评价
2013/12/30 职场文书
学习党章思想汇报
2014/01/07 职场文书
初中三好学生事迹材料
2014/01/13 职场文书
主办会计岗位职责
2014/03/13 职场文书
竞选文艺委员演讲稿
2014/04/28 职场文书
食品药品安全责任书
2015/05/11 职场文书
答谢酒会主持词
2015/07/02 职场文书