微信小程序开发实现的选项卡(窗口顶部/底部TabBar)页面切换功能图文详解


Posted in Javascript onMay 14, 2019

本文实例讲述了微信小程序开发实现的选项卡(窗口顶部/底部TabBar)页面切换功能。分享给大家供大家参考,具体如下:

微信小程序开发中选项卡.在android中选项卡一般用fragment,到了小程序这里瞬间懵逼了.

总算做出来了.分享出来看看.

先看效果:

微信小程序开发实现的选项卡(窗口顶部/底部TabBar)页面切换功能图文详解

再上代码:

1.index.wxml

<!--index.wxml-->
<view class="swiper-tab">
  <view class="swiper-tab-list {{currentTab==0 ? 'on' : ''}}" data-current="0" bindtap="swichNav">哈哈</view>
  <view class="swiper-tab-list {{currentTab==1 ? 'on' : ''}}" data-current="1" bindtap="swichNav">呵呵</view>
  <view class="swiper-tab-list {{currentTab==2 ? 'on' : ''}}" data-current="2" bindtap="swichNav">嘿嘿</view>
</view>
<swiper current="{{currentTab}}" class="swiper-box" duration="300" style="height:{{winHeight - 31}}px" bindchange="bindChange">
  <!-- 我是哈哈 -->
  <swiper-item>
   <view>我是哈哈</view>
  </swiper-item>
  <!-- 我是呵呵 -->
  <swiper-item>
   <view>我是呵呵</view>
  </swiper-item>
  <!-- 我是嘿嘿 -->
  <swiper-item>
   <view>我是嘿嘿</view>
  </swiper-item>
</swiper>

2.index.wxss

/**index.wxss**/
.swiper-tab{
  width: 100%;
  border-bottom: 2rpx solid #777777;
  text-align: center;
  line-height: 80rpx;}
.swiper-tab-list{ font-size: 30rpx;
  display: inline-block;
  width: 33.33%;
  color: #777777;
}
.on{ color: #da7c0c;
  border-bottom: 5rpx solid #da7c0c;}
.swiper-box{ display: block; height: 100%; width: 100%; overflow: hidden; }
.swiper-box view{
  text-align: center;
}

3.index.js

//index.js
//获取应用实例
var app = getApp()
Page( {
 data: {
  /**
    * 页面配置
    */
  winWidth: 0,
  winHeight: 0,
  // tab切换
  currentTab: 0,
 },
 onLoad: function() {
  var that = this;
  /**
   * 获取系统信息
   */
  wx.getSystemInfo( {
   success: function( res ) {
    that.setData( {
     winWidth: res.windowWidth,
     winHeight: res.windowHeight
    });
   }
  });
 },
 /**
   * 滑动切换tab
   */
 bindChange: function( e ) {
  var that = this;
  that.setData( { currentTab: e.detail.current });
 },
 /**
  * 点击tab切换
  */
 swichNav: function( e ) {
  var that = this;
  if( this.data.currentTab === e.target.dataset.current ) {
   return false;
  } else {
   that.setData( {
    currentTab: e.target.dataset.current
   })
  }
 }
})

之前没有上传代码.这是下图的代码

demo源码点击此处本站下载

微信小程序开发实现的选项卡(窗口顶部/底部TabBar)页面切换功能图文详解

这样一个类似viewpage的顶部选项卡就出来了.

微信小程序开发中窗口底部tab栏切换页面很简单很方便.

微信小程序开发实现的选项卡(窗口顶部/底部TabBar)页面切换功能图文详解

代码:

1.app.json

//app.json
{
 "pages":[
  "pages/index/index",
  "pages/logs/logs"
 ],
 "window":{
  "backgroundTextStyle":"light",
  "navigationBarBackgroundColor": "#999999",
  "navigationBarTitleText": "tab",
  "navigationBarTextStyle":"white"
 },
  "tabBar": {
  "color": "#ccc",
  "selectedColor": "#35495e",
  "borderStyle": "white",
  "backgroundColor": "#f9f9f9",
  "list": [
   {
    "text": "首页",
    "pagePath": "pages/index/index",
    "iconPath": "images/home.png",
    "selectedIconPath": "images/home-actived.png"
   },
   {
    "text": "目录",
    "pagePath": "pages/catalogue/catalogue",
    "iconPath": "images/note.png",
    "selectedIconPath": "images/note-actived.png"
   },
   {
    "text": "我的",
    "pagePath": "pages/mine/mine",
    "iconPath": "images/profile.png",
    "selectedIconPath": "images/profile-actived.png"
   }
  ]
 }
}

pagePath是页面路径.iconPath是图片路径,icon 大小限制为40kb.
selectedIconPath:选中时的图片路径,icon 大小限制为40kb

tab Bar的最多5个,最少2个.

在pages目录下写好页面即可切换.

希望本文所述对大家微信小程序开发有所帮助。

Javascript 相关文章推荐
Javascript - HTML的request类
Jul 15 Javascript
jquery validate使用攻略 第四步
Jul 01 Javascript
JS原型对象通俗&quot;唱法&quot;
Dec 27 Javascript
js控制再次点击按钮之间的间隔时间可防止重复提交
Aug 01 Javascript
JavaScript使用cookie实现记住账号密码功能
Apr 27 Javascript
jQuery实现鼠标滑过图片移动特效
Dec 08 Javascript
vue实现文章内容过长点击阅读全文功能的实例
Dec 28 Javascript
小程序实现搜索界面 小程序实现推荐搜索列表效果
May 18 Javascript
vue+element搭建后台小总结 el-dropdown下拉功能
Apr 10 Javascript
vue子传父关于.sync与$emit的实现
Nov 05 Javascript
jQuery与原生JavaScript选择HTML元素集合用法对比分析
Nov 26 jQuery
uniapp开发打包多端应用完整方法指南
Dec 24 Javascript
详解jenkins自动化部署vue
May 14 #Javascript
基于JS实现前端压缩上传图片的实例代码
May 14 #Javascript
JavaScript如何实现元素全排列实例代码
May 14 #Javascript
微信小程序实现多选框全选与取消全选功能示例
May 14 #Javascript
js中arguments对象的深入理解
May 14 #Javascript
ios中视频的最后一桢问题解决
May 14 #Javascript
详解可以用在VS Code中的正则表达式小技巧
May 14 #Javascript
You might like
PHP中加密解密函数与DES加密解密实例
2014/10/17 PHP
Laravel 5框架学习之路由、控制器和视图简介
2015/04/07 PHP
PHP实现小偷程序实例
2016/10/31 PHP
PHP实现简单用户登录界面
2019/10/23 PHP
JavaScript的变量作用域深入理解
2009/10/25 Javascript
jquery 新浪网易的评论块制作
2010/07/01 Javascript
基于jQuery中对数组进行操作的方法
2013/04/16 Javascript
JS实现的简洁二级导航菜单雏形效果
2015/10/13 Javascript
JS面向对象编程详解
2016/03/06 Javascript
举例讲解jQuery对DOM元素的向上遍历、向下遍历和水平遍历
2016/07/07 Javascript
jQuery实现的导航下拉菜单效果示例
2016/09/05 Javascript
JS实现DIV高度自适应窗口示例
2017/02/16 Javascript
AngularJS 实现点击按钮获取验证码功能实例代码
2017/07/13 Javascript
关于定制FileField中的上传文件名称问题
2017/08/22 Javascript
js实现上传并压缩图片效果
2018/01/10 Javascript
详解浏览器缓存和webpack缓存配置
2018/07/06 Javascript
JavaScript之数组扁平化详解
2019/06/03 Javascript
vue.js使用v-model实现父子组件间的双向通信示例
2020/02/05 Javascript
python实现词法分析器
2019/01/31 Python
python算法与数据结构之单链表的实现代码
2019/06/27 Python
Django实现任意文件上传(最简单的方法)
2020/06/03 Python
新西兰杂志订阅:isubscribe
2019/08/26 全球购物
三星俄罗斯授权在线商店:Samsung俄罗斯
2019/09/28 全球购物
经典的班主任推荐信
2013/10/28 职场文书
人事专员的职责
2014/02/26 职场文书
小学生安全演讲稿
2014/04/25 职场文书
梅花魂教学反思
2014/04/25 职场文书
精神文明建设先进工作者事迹材料
2014/05/02 职场文书
亚运会口号
2014/06/20 职场文书
初中学习计划书范文
2014/09/15 职场文书
2014最新党员批评与自我批评材料
2014/09/24 职场文书
党的群众路线教育实践活动个人对照检查材料(医生)
2014/11/05 职场文书
团代会闭幕词
2015/01/28 职场文书
2015年度班主任自我评价
2015/03/11 职场文书
预备党员入党思想汇报(范文)
2019/08/14 职场文书
编写python程序的90条建议
2021/04/14 Python