微信小程序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 相关文章推荐
Struts2的s:radio标签使用及用jquery添加change事件
Apr 08 Javascript
JS去除数组重复值的五种不同方法
Sep 06 Javascript
jQuery获取节点和子节点文本的方法
Jul 22 Javascript
浅谈JavaScript中定义变量时有无var声明的区别
Aug 18 Javascript
JQUERY简单按钮轮换选中效果实现方法
May 07 Javascript
利用js编写响应式侧边栏
Sep 17 Javascript
浅谈jQuery绑定事件会叠加的解决方法和心得总结
Oct 26 Javascript
JS简单实现表格排序功能示例
Dec 20 Javascript
基于Vue中点击组件外关闭组件的实现方法
Mar 06 Javascript
解决bootstrap模态框数据缓存的问题方法
Aug 10 Javascript
Angular6 Filter实现页面搜索的示例代码
Dec 02 Javascript
Node.js实现一个HTTP服务器的方法示例
May 13 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
一个程序下载的管理程序(二)
2006/10/09 PHP
页面乱码问题的根源及其分析
2013/08/09 PHP
destoon二次开发常用数据库操作
2014/06/21 PHP
高性能PHP框架Symfony2经典入门教程
2014/07/08 PHP
PHP类的封装与继承详解
2015/09/29 PHP
深入理解PHP内核(一)
2015/11/10 PHP
Thinkphp批量更新数据的方法汇总
2016/06/29 PHP
利用Homestead快速运行一个Laravel项目的方法详解
2017/11/14 PHP
在Laravel5中正确设置文件权限的方法
2019/05/22 PHP
phpQuery采集网页实现代码实例
2020/04/02 PHP
PHP优化之批量操作MySQL实例分析
2020/04/23 PHP
JS 操作符整理[推荐收藏]
2011/11/15 Javascript
5个javascript的数字格式化函数分享
2011/12/07 Javascript
javascript检测对象中是否存在某个属性判断方法小结
2013/05/19 Javascript
jquery属性选择器not has怎么写 行悬停高亮显示
2013/11/13 Javascript
利用jQuery插件imgAreaSelect实现获得选择域的图像信息
2016/12/02 Javascript
微信小程序使用audio组件播放音乐功能示例【附源码下载】
2017/12/08 Javascript
在一个页面实现两个zTree联动的方法
2017/12/20 Javascript
微信小程序module.exports模块化操作实例浅析
2018/12/20 Javascript
JS实现处理时间,年月日,星期的公共方法示例
2019/05/31 Javascript
ES6的异步操作之promise用法和async函数的具体使用
2019/12/06 Javascript
JS获取当前时间的年月日时分秒及时间的格式化的方法
2019/12/18 Javascript
Vue 封装防刷新考试倒计时组件的实现
2020/06/05 Javascript
[03:36]2015国际邀请赛第二日现场精彩集锦
2015/08/06 DOTA
解析Python中的生成器及其与迭代器的差异
2016/06/20 Python
python使用webdriver爬取微信公众号
2018/08/31 Python
解决pycharm 远程调试 上传 helpers 卡住的问题
2019/06/27 Python
Django高级编程之自定义Field实现多语言
2019/07/02 Python
Python 转换RGB颜色值的示例代码
2019/10/13 Python
使用pygame实现垃圾分类小游戏功能(已获校级二等奖)
2020/07/23 Python
CSS3制作Dropdown下拉菜单的方法
2015/07/18 HTML / CSS
Ray-Ban雷朋西班牙官网:全球领先的太阳眼镜品牌
2018/11/28 全球购物
英国户外服装品牌:Craghoppers
2019/04/25 全球购物
自我评价的写作规则
2014/01/06 职场文书
新春寄语大全
2014/04/09 职场文书
JavaScript如何利用Promise控制并发请求个数
2021/05/14 Javascript