开发者社区> 科技小能手> 正文

微信小程序开发之选项卡(窗口顶部TabBar)页面切换

简介:
+关注继续查看

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

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

先看效果:


再上代码:

1.index.wxml

[html] view plain copy

  1. <!--index.wxml-->  

  2. <view class="swiper-tab">  

  3.     <view class="swiper-tab-list {{currentTab==0 ? 'on' : ''}}" data-current="0" bindtap="swichNav">哈哈</view>  

  4.     <view class="swiper-tab-list {{currentTab==1 ? 'on' : ''}}" data-current="1" bindtap="swichNav">呵呵</view>  

  5.     <view class="swiper-tab-list {{currentTab==2 ? 'on' : ''}}" data-current="2" bindtap="swichNav">嘿嘿</view>  

  6. </view>  

  7.   

  8. <swiper current="`currentTab`" class="swiper-box" duration="300" style="height:{{winHeight - 31}}px" bindchange="bindChange">  

  9.     <!-- 我是哈哈 -->  

  10.     <swiper-item>  

  11.       <view>我是哈哈</view>  

  12.     </swiper-item>  

  13.     <!-- 我是呵呵 -->  

  14.     <swiper-item>  

  15.       <view>我是呵呵</view>  

  16.     </swiper-item>  

  17.     <!-- 我是嘿嘿 -->  

  18.     <swiper-item>  

  19.       <view>我是嘿嘿</view>  

  20.     </swiper-item>  

  21. </swiper>  

2.index.wxss


[css] view plain copy

  1. /**index.wxss**/  

  2. .swiper-tab{  

  3.     width100%;  

  4.     border-bottom2rpx solid #777777;  

  5.     text-aligncenter;  

  6.     line-height80rpx;}  

  7. .swiper-tab-list{  font-size30rpx;  

  8.     display: inline-block;  

  9.     width33.33%;  

  10.     color#777777;  

  11. }  

  12. .on{ color#da7c0c;  

  13.     border-bottom5rpx solid #da7c0c;}  

  14.   

  15. .swiper-box{ displayblockheight100%width100%overflowhidden; }  

  16. .swiper-box view{  

  17.     text-aligncenter;  

  18. }  


3.index.js


[javascript] view plain copy

  1. //index.js  

  2. //获取应用实例  

  3. var app = getApp()  

  4. Page( {  

  5.   data: {  

  6.     /** 

  7.         * 页面配置 

  8.         */  

  9.     winWidth: 0,  

  10.     winHeight: 0,  

  11.     // tab切换  

  12.     currentTab: 0,  

  13.   },  

  14.   onLoad: function() {  

  15.     var that = this;  

  16.   

  17.     /** 

  18.      * 获取系统信息 

  19.      */  

  20.     wx.getSystemInfo( {  

  21.   

  22.       success: function( res ) {  

  23.         that.setData( {  

  24.           winWidth: res.windowWidth,  

  25.           winHeight: res.windowHeight  

  26.         });  

  27.       }  

  28.   

  29.     });  

  30.   },  

  31.   /** 

  32.      * 滑动切换tab 

  33.      */  

  34.   bindChange: function( e ) {  

  35.   

  36.     var that = this;  

  37.     that.setData( { currentTab: e.detail.current });  

  38.   

  39.   },  

  40.   /** 

  41.    * 点击tab切换 

  42.    */  

  43.   swichNav: function( e ) {  

  44.   

  45.     var that = this;  

  46.   

  47.     ifthis.data.currentTab === e.target.dataset.current ) {  

  48.       return false;  

  49.     } else {  

  50.       that.setData( {  

  51.         currentTab: e.target.dataset.current  

  52.       })  

  53.     }  

  54.   }  

  55. })  


本文转自 IT阿飞 51CTO博客,原文链接:http://blog.51cto.com/itafei/1950128

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
智慧校园源码,智慧学校源码+微信小程序+人脸电子班牌 JAVA开发
技术开发环境:Java+springboot+vue+element-ui+mysql 用的是最新的技术栈,完全满足开发要求。 它是一款集智慧教学、智慧教务、智慧校务于一体的校园管理平台
75 0
微信小程序开发入门与实战(初始微信小程序)
微信小程序开发入门与实战(初始微信小程序)
60 0
微信小程序开发入门与实战(小程序与前端开发的区别)
微信小程序开发入门与实战(小程序与前端开发的区别)
32 0
微信小程序开发入门与实战(数据、事件、条件)
微信小程序开发入门与实战(数据、事件、条件)
33 0
微信小程序开发入门与实战(组件的使用)
微信小程序开发入门与实战(组件的使用)
41 0
微信小程序开发入门与实战(数据监听)
微信小程序开发入门与实战(数据监听)
31 0
微信小程序开发入门与实战(组件生命周期)
微信小程序开发入门与实战(组件生命周期)
23 0
微信小程序开发入门与实战(插槽及组件页面的生命周期)
微信小程序开发入门与实战(插槽及组件页面的生命周期)
24 0
微信小程序开发入门与实战(三种通信方法)
微信小程序开发入门与实战(三种通信方法)
33 0
微信小程序开发入门与实战(Behaviors使用)
微信小程序开发入门与实战(Behaviors使用)
23 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载