微信小程序开发实现的选项卡(窗口顶部/底部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 相关文章推荐
转一个日期输入控件,支持FF
Apr 27 Javascript
正则表达式判断是否存在中文和全角字符和判断包含中文字符串长度
Sep 27 Javascript
IE和firefox浏览器的event事件兼容性汇总
Dec 06 Javascript
Jquery+JSon 无刷新分页实现代码
Apr 01 Javascript
javascript 拖动表格行实现代码
May 05 Javascript
window.onload和$(function(){})的区别介绍
Oct 30 Javascript
js以分隔符分隔数组中的元素并转换为字符串的方法
Nov 16 Javascript
jQuery中 bind的用法简单介绍
Feb 13 Javascript
获取url中用&amp;隔开的参数实例(分享)
May 28 Javascript
详解node.js 事件循环
Jul 22 Javascript
在vant中使用时间选择器和popup弹出层的操作
Nov 04 Javascript
浅谈TypeScript 索引签名的理解
Oct 16 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
解析PHPExcel使用的常用说明以及把PHPExcel整合进CI框架的介绍
2013/06/24 PHP
php实现可以设置中奖概率的抽奖程序代码分享
2014/01/19 PHP
关于onScroll事件在IE6下每次滚动触发三次bug说明
2011/09/21 Javascript
javascript判断ie浏览器6/7版本加载不同样式表的实现代码
2011/12/26 Javascript
使用js解决由border属性引起的div宽度问题
2013/11/26 Javascript
JQuery中$.ajax()方法参数详解及应用
2013/12/12 Javascript
js获取时间并实现字符串和时间戳之间的转换
2015/01/05 Javascript
JavaScript静态类型检查工具FLOW简介
2015/01/06 Javascript
jQuery实现锚点scoll效果实例分析
2015/03/10 Javascript
js正则表达式匹配数字字母下划线等
2015/04/14 Javascript
10个JavaScript中易犯小错误
2016/02/14 Javascript
js实现数组冒泡排序、快速排序原理
2016/03/08 Javascript
jQuery中设置form表单中action值的实现方法
2016/05/25 Javascript
AngularJS教程之简单应用程序示例
2016/08/16 Javascript
Vue加载组件、动态加载组件的几种方式
2018/08/31 Javascript
详解JavaScript 浮点数运算的精度问题
2019/07/23 Javascript
JavaScript如何借用构造函数继承
2019/11/06 Javascript
[04:15]DOTA2-DPC中国联赛 正赛 Ehome vs Aster 选手采访
2021/03/11 DOTA
wxpython 学习笔记 第一天
2009/02/09 Python
Python调用ctypes使用C函数printf的方法
2017/08/23 Python
Python定义一个跨越多行的字符串的多种方法小结
2018/07/19 Python
详解Python中的内建函数,可迭代对象,迭代器
2019/04/29 Python
使用python实现mqtt的发布和订阅
2019/05/05 Python
django 连接数据库 sqlite的例子
2019/08/14 Python
python实现ip地址的包含关系判断
2020/02/07 Python
Python动态导入模块和反射机制详解
2020/02/18 Python
pycharm中导入模块错误时提示Try to run this command from the system terminal
2020/03/26 Python
Python使用configparser读取ini配置文件
2020/05/25 Python
在Python3.74+PyCharm2020.1 x64中安装使用Kivy的详细教程
2020/08/07 Python
python实现移动木板小游戏
2020/10/09 Python
Python 列表反转显示的四种方法
2020/11/16 Python
python 实现数据库中数据添加、查询与更新的示例代码
2020/12/07 Python
html5本地存储_动力节点Java学院整理
2017/07/12 HTML / CSS
美国非常受欢迎的Spa品牌:Bliss必列斯
2018/04/10 全球购物
2014员工聘用协议书(最新版)
2014/11/24 职场文书
英雄儿女观后感
2015/06/09 职场文书