欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-12-01 19:37:16
本文实例讲述了微信小程序开发实现的选项卡(窗口顶部/底部tabbar)页面切换功能。分享给大家供大家参考,具体如下: 微信小程序开发中选项卡.在android中选项卡一般...

本文实例讲述了微信小程序开发实现的选项卡(窗口顶部/底部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目录下写好页面即可切换.

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