微信小程序开发实现的选项卡(窗口顶部/底部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 判断浏览器是否支持SVG的代码
Mar 21 Javascript
jquery struts 验证唯一标识(公用方法)
Mar 27 Javascript
Js点击弹出下拉菜单效果实例
Aug 12 Javascript
jQuery中click事件的定义和用法
Dec 20 Javascript
JS实现的5级联动Select下拉选择框实例
Aug 17 Javascript
js HTML5 Ajax实现文件上传进度条功能
Feb 13 Javascript
Bootstrap每天必学之滚动监听
Mar 16 Javascript
jquery仿QQ登录账号选择下拉框效果
Mar 22 Javascript
jQuery插件ajaxFileUpload异步上传文件
Oct 19 Javascript
浅析上传头像示例及其注意事项
Dec 14 Javascript
微信小程序中button去除默认的边框实例代码
Aug 01 Javascript
解决layui下拉框监听问题(监听不到值的变化)
Sep 28 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-CGI进程CPU 100% 与 file_get_contents 函数的关系分析
2011/08/15 PHP
中高级PHP程序员应该掌握哪些技术?
2016/09/23 PHP
JS操作XML中DTD介绍及使用方法分析
2019/07/04 PHP
Array.slice()与Array.splice()的返回值类型
2006/10/09 Javascript
JavaScript 事件的一些重要说明
2009/10/25 Javascript
jquery 简短几句代码实现给元素动态添加及获取提示信息
2011/09/01 Javascript
原生javascript和jquery判断浏览器版本等信息
2013/07/04 Javascript
JavaScript加强之自定义callback示例
2013/09/21 Javascript
jQuery对象与DOM对象转换方法详解
2016/05/10 Javascript
浅谈jquery点击label触发2次的问题
2016/06/12 Javascript
JS遍历数组和对象的区别及递归遍历对象、数组、属性的方法详解
2016/06/14 Javascript
解决vue点击控制单个样式的问题
2018/09/05 Javascript
JavaScript函数、闭包、原型、面向对象学习笔记
2018/09/06 Javascript
Vuejs 实现简易 todoList 功能 与 组件实例代码
2018/09/10 Javascript
vue新vue-cli3环境配置和模拟json数据的实例
2018/09/19 Javascript
vue基础之事件v-onclick=&quot;函数&quot;用法示例
2019/03/11 Javascript
微信小程序实现日历签到
2020/09/21 Javascript
原生js实现购物车
2020/09/23 Javascript
在Python中操作时间之tzset()方法的使用教程
2015/05/22 Python
python3中str(字符串)的使用教程
2017/03/23 Python
Python数据结构之哈夫曼树定义与使用方法示例
2018/04/22 Python
python实现傅里叶级数展开的实现
2018/07/21 Python
Python Pandas批量读取csv文件到dataframe的方法
2018/10/08 Python
scrapy-redis源码分析之发送POST请求详解
2019/05/15 Python
python re模块匹配贪婪和非贪婪模式详解
2020/02/11 Python
详解Pytorch显存动态分配规律探索
2020/11/17 Python
网站性能延迟加载图像的五种技巧(小结)
2020/08/13 HTML / CSS
LTD Commodities:礼品,独特发现,家居装饰,家用器皿
2017/08/11 全球购物
GoPro摄像机美国官网:美国运动相机厂商
2018/07/03 全球购物
Booking.com缤客中国:全球酒店在线预订网站
2020/05/03 全球购物
经济管理专业毕业生推荐信
2013/11/11 职场文书
高级技校毕业生自荐信
2013/11/18 职场文书
文明生主要事迹
2014/05/25 职场文书
2015出纳试用期工作总结
2014/12/12 职场文书
如何在C++中调用Python
2021/05/21 Python
MySQL中order by的执行过程
2022/06/05 MySQL