微信小程序开发实现的选项卡(窗口顶部/底部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设置css属性的代码
Dec 28 Javascript
初窥JQuery-Jquery简介 入门了解篇
Nov 25 Javascript
JavaScript高级程序设计(第3版)学习笔记11 内建js对象
Oct 11 Javascript
javascript简单判断输入内容是否合法的方法
May 11 Javascript
JS去掉字符串前后空格、阻止表单提交的实现代码
Jun 08 Javascript
js图片轮播插件的封装
Jul 21 Javascript
JavaScript异步加载问题总结
Feb 17 Javascript
vue-cli下的vuex的简单Demo图解(实现加1减1操作)
Feb 26 Javascript
vue.js或js实现中文A-Z排序的方法
Mar 08 Javascript
实例解析Vue.js下载方式及基本概念
May 11 Javascript
微信小程序云开发如何使用云函数生成二维码
May 18 Javascript
vue递归组件实战之简单树形控件实例代码
Aug 27 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使用Memcache时模拟命名空间及缓存失效问题的解决
2016/02/27 PHP
Zend Framework教程之配置文件application.ini解析
2016/03/10 PHP
PHP实现微信小程序人脸识别刷脸登录功能
2018/05/24 PHP
php统计数组不同元素的个数的实例方法
2019/09/26 PHP
遨游,飞飞,IE,空中网 浏览器无提示关闭方法
2011/07/11 Javascript
浏览器加载、渲染和解析过程黑箱简析
2012/11/29 Javascript
JS DOM实现鼠标滑动图片效果
2020/09/17 Javascript
原生JS仿QQ阅读点击展开、收起效果
2017/03/08 Javascript
详谈commonjs模块与es6模块的区别
2017/10/18 Javascript
JS正则表达式完美实现身份证校验功能
2017/10/18 Javascript
JS获取数组中出现次数最多及第二多元素的方法
2017/10/27 Javascript
AngularJS中controller控制器继承的使用方法
2017/11/03 Javascript
对类Vue的MVVM前端库的实现代码
2018/09/07 Javascript
Node.js npm命令运行node.js脚本的方法
2018/10/10 Javascript
JS call()及apply()方法使用实例汇总
2020/07/11 Javascript
利用H5api实现时钟的绘制(javascript)
2020/09/13 Javascript
原生JavaScript实现弹幕组件的示例代码
2020/10/12 Javascript
[02:32]“虐狗”镜头慎点 2016国际邀请赛中国区预选赛现场玩家采访
2016/06/28 DOTA
[01:05:30]VP vs TNC 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
一个简单的python程序实例(通讯录)
2013/11/29 Python
Python实现简单字典树的方法
2016/04/29 Python
pandas 数据实现行间计算的方法
2018/06/08 Python
python中setuptools的作用是什么
2020/06/19 Python
HTML5所有标签汇总及标签意义解释
2015/03/12 HTML / CSS
html5 冒号分隔符对齐的实现
2019/07/31 HTML / CSS
HTML5 Canvas实现放大镜效果示例
2020/03/25 HTML / CSS
全球性的在线鞋类品牌:Public Desire
2019/04/03 全球购物
中东奢侈品购物网站:Ounass
2020/09/02 全球购物
机械电子工程专业推荐信范文
2013/11/20 职场文书
打造完美自荐信
2014/01/24 职场文书
办公室文员工作职责
2014/01/31 职场文书
竞争上岗演讲稿范文
2014/05/12 职场文书
李培根演讲稿
2014/05/22 职场文书
小学数学教学经验交流材料
2014/05/22 职场文书
涉及车辆房产分割的离婚协议书范文
2014/10/12 职场文书
公司联欢会主持词
2015/07/04 职场文书