微信小程序 实现tabs选项卡效果实例代码


Posted in Javascript onOctober 31, 2016

最近微信应用号是炒的如火如荼,热门满满,但是也可以发现搜索关键词出来,各类网站出现的还都是微信的官方文档解释。正好赶上这个热潮,这几天先把小程序技术文档看了个遍,就直接着手写案例了。很多组件微信内部已经封装完了,正好发现没有tab选项卡效果,这两天正好研究了下。思路如下:

1、首先点击导航的时候需要两个变量,一个存储当前点击样式类,一个是其它导航默认的样式类

2、选项卡内容列表同样也需要两个变量,一个存储当前显示块,一个存储的是其它隐藏的默认块

3、使用三目运算通过点击获取导航索引,根据索引判断是否添加当前类【备注,这里我将点击事件绑定在父级导航栏,通过target对象得到点击触发的事件对象属性】

请结合如下效果图:

微信小程序 实现tabs选项卡效果实例代码

      接下来直接查看源码:

demo.wxml:

<view class="tab"> 
 <view class="tab-left" bindtap="tabFun"> 
  <view class="{{tabArr.curHdIndex=='0'? 'active' : ''}}" id="tab-hd01" data-id="0">tab-hd01</view> 
  <view class="{{tabArr.curHdIndex=='1'? 'active' : ''}}" id="tab-hd02" data-id="1">tab-hd01</view> 
  <view class="{{tabArr.curHdIndex=='2'? 'active' : ''}}" id="tab-hd03" data-id="2">tab-hd01</view> 
  <view class="{{tabArr.curHdIndex=='3'? 'active' : ''}}" id="tab-hd04" data-id="3">tab-hd01</view> 
 </view> 
 
 <view class="tab-right"> 
  <view class="right-item {{tabArr.curBdIndex=='0'? 'active' : ''}}">tab-bd01</view> 
  <view class="right-item {{tabArr.curBdIndex=='1'? 'active' : ''}}">tab-bd02</view> 
  <view class="right-item {{tabArr.curBdIndex=='2'? 'active' : ''}}">tab-bd03</view> 
  <view class="right-item {{tabArr.curBdIndex=='3'? 'active' : ''}}">tab-bd04</view> 
 </view> 
</view>

demo.js:

Page( { 
 data: { 
  tabArr: { 
   curHdIndex: 0, 
   curBdIndex: 0 
  }, 
 }, 
 tabFun: function(e){ 
  //获取触发事件组件的dataset属性 
  var _datasetId=e.target.dataset.id; 
  console.log("----"+_datasetId+"----"); 
  var _obj={}; 
  _obj.curHdIndex=_datasetId; 
  _obj.curBdIndex=_datasetId; 
  this.setData({ 
   tabArr: _obj 
  }); 
 }, 
 onLoad: function( options ) { 
  alert( "------" ); 
 } 
});

demo.wxss:

.tab{ 
  display: flex; 
  flex-direction: row; 
} 
.tab-left{ 
  width: 200rpx; 
  line-height: 160%; 
  border-right: solid 1px gray; 
} 
.tab-left view{ 
  border-bottom: solid 1px red; 
} 
.tab-left .active{ 
  color: #f00; 
} 
.tab-right{ 
  line-height: 160%; 
} 
.tab-right .right-item{ 
  padding-left: 15rpx; 
  display: none; 
} 
.tab-right .right-item.active{ 
  display: block; 
}

    最终演示效果如下:

 微信小程序 实现tabs选项卡效果实例代码

微信小程序 实现tabs选项卡效果实例代码

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
Firefox div高度自适应
Apr 28 Javascript
Extjs Gird 支持中文拼音排序实现代码
Apr 15 Javascript
自动最大化窗口的Javascript代码
May 22 Javascript
JavaScript中的anchor()方法使用详解
Jun 08 Javascript
详解JavaScript对象和数组
Dec 03 Javascript
Backbone.js框架中简单的View视图编写学习笔记
Feb 14 Javascript
微信小程序 setData的使用方法详解
Apr 20 Javascript
详解基于vue-cli3.0如何构建功能完善的前端架子
Oct 09 Javascript
详解JavaScript栈内存与堆内存
Apr 04 Javascript
vue实现一拉到底的滑动验证
Jul 25 Javascript
Javascript var变量删除原理及实现
Aug 26 Javascript
jQuery实现二级导航菜单的示例
Sep 30 jQuery
HTML5基于Tomcat 7.0实现WebSocket连接并实现简单的实时聊天
Oct 31 #Javascript
jQuery绑定事件的四种方式介绍
Oct 31 #Javascript
JS 实现导航菜单中的二级下拉菜单的几种方式
Oct 31 #Javascript
JS中作用域和变量提升(hoisting)的深入理解
Oct 31 #Javascript
jsp 网站引入外部css或者js失效问题解决
Oct 31 #Javascript
js学习笔记之事件处理模型
Oct 31 #Javascript
基于JS实现checkbox全选功能实例代码
Oct 31 #Javascript
You might like
php生成图形(Libchart)实例
2013/11/06 PHP
PHP微信PC二维码登陆的实现思路
2017/07/13 PHP
django中的ajax组件教程详解
2018/10/18 PHP
PHP哈希表实现算法原理解析
2020/12/11 PHP
漂亮的仿flash菜单,来自蓝色经典
2006/06/26 Javascript
Javascript模板技术
2007/04/27 Javascript
正则表达式判断是否存在中文和全角字符和判断包含中文字符串长度
2008/09/27 Javascript
兼容IE和Firefox的javascript获取iframe文档内容的函数
2011/08/15 Javascript
js日期对象兼容性的处理方法
2014/01/28 Javascript
jquery和雅虎的yql服务实现天气预报服务示例
2014/02/08 Javascript
JavaScript模块随意拖动示例代码
2014/05/27 Javascript
jQuery异步加载数据并添加事件示例
2014/08/24 Javascript
原生javascript实现图片按钮切换
2015/01/12 Javascript
jQuery的load()方法及其回调函数用法实例
2015/03/25 Javascript
JavaScript中的toLocaleDateString()方法使用简介
2015/06/12 Javascript
Jquery调用iframe父页面中的元素及方法
2016/08/23 Javascript
Vue自定义指令使用方法详解
2017/08/21 Javascript
Vue使用枚举类型实现HTML下拉框步骤详解
2018/02/05 Javascript
VueCli3构建TS项目的方法步骤
2018/11/07 Javascript
javascript实现一款好看的秒表计时器
2020/09/05 Javascript
python正则匹配抓取豆瓣电影链接和评论代码分享
2013/12/27 Python
Python实现简单截取中文字符串的方法
2015/06/15 Python
Python GUI库PyQt5样式QSS子控件介绍
2020/02/25 Python
python 如何调用远程接口
2020/09/11 Python
pycharm最新激活码有效期至2100年(亲测可用)
2021/02/05 Python
Fossil加拿大官网:化石手表、手袋、首饰及配饰
2019/04/23 全球购物
抽样调查项目计划书
2014/04/24 职场文书
应届大学生求职信
2014/07/20 职场文书
男方婚礼答谢词
2015/01/20 职场文书
物业前台接待岗位职责
2015/04/03 职场文书
2015年保险公司工作总结
2015/04/24 职场文书
入党转正申请报告
2015/05/15 职场文书
行政答辩状范文
2015/05/21 职场文书
python爬取某网站原图作为壁纸
2021/06/02 Python
MySQL配置主从服务器(一主多从)
2021/08/07 MySQL
Nginx防盗链与服务优化配置的全过程
2022/01/18 Servers