微信小程序 实现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 相关文章推荐
鼠标图片振动代码
Jul 06 Javascript
jQuery 顺便学习下CSS选择器 奇偶匹配nth-child(even)
May 24 Javascript
用JavaScript仿PS里的羽化效果代码
Dec 20 Javascript
jQuery插件-jRating评分插件源码分析及使用方法
Dec 28 Javascript
jquery中子元素和后代元素的区别示例介绍
Apr 02 Javascript
JQuery 控制内容长度超出规定长度显示省略号
May 23 Javascript
JS获得选取checkbox整行数据的方法
Jan 28 Javascript
AngularJS教程之简单应用程序示例
Aug 16 Javascript
windows下vue.js开发环境搭建教程
Mar 20 Javascript
VUE前端cookie简单操作
Oct 17 Javascript
jQuery实现的监听导航滚动置顶状态功能示例
Jul 23 jQuery
javascript json对象小技巧之键名作为变量用法分析
Nov 11 Javascript
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的in_array低性能问题
2013/09/17 PHP
PHP5.3与5.5废弃与过期函数整理汇总
2014/07/10 PHP
php中json_encode不兼容JSON_UNESCAPED_UNICODE的解决方案
2016/05/31 PHP
PHP命名空间namespace的定义方法详解
2017/03/29 PHP
Yii redis集合的基本使用教程
2020/06/14 PHP
JavaScript中的null和undefined解析
2012/04/14 Javascript
JS获取单击按钮单元格所在行的信息
2014/06/17 Javascript
在Javascript中处理数组之toSource()方法的使用
2015/06/09 Javascript
超实用的javascript时间处理总结
2016/08/16 Javascript
jQuery查找节点方法完整实例
2016/09/13 Javascript
浅谈javascript的url参数parse和build函数
2017/03/04 Javascript
第一次记录Bootstrap table学习笔记(1)
2017/05/18 Javascript
手机注册发送验证码倒计时的简单实例
2017/11/15 Javascript
bootstrap3中container与container_fluid外层容器的区别讲解
2017/12/04 Javascript
结合Vue控制字符和字节的显示个数的示例
2018/05/17 Javascript
解决layui的input独占一行的问题
2019/09/10 Javascript
在vue中实现禁止回退上一步,路由不存历史记录
2020/07/22 Javascript
vue element-ui中table合计指定列求和实例
2020/11/02 Javascript
[00:28]DOTA2北京网鱼队选拔赛
2015/04/08 DOTA
[26:40]DOTA2上海特级锦标赛A组资格赛#1 Secret VS MVP.Phx第一局
2016/02/25 DOTA
[43:47]完美世界DOTA2联赛PWL S3 LBZS vs Phoenix 第一场 12.09
2020/12/11 DOTA
python实现探测socket和web服务示例
2014/03/28 Python
python通过装饰器检查函数参数数据类型的方法
2015/03/13 Python
Python中处理字符串的相关的len()方法的使用简介
2015/05/19 Python
在Python中执行系统命令的方法示例详解
2017/09/14 Python
numpy创建单位矩阵和对角矩阵的实例
2019/11/29 Python
Python基本类型的连接组合和互相转换方式(13种)
2019/12/16 Python
Python求两个字符串最长公共子序列代码实例
2020/03/05 Python
加拿大在线隐形眼镜专家:PerfectLens.ca
2016/11/19 全球购物
学前教育专业毕业生自荐信
2013/10/03 职场文书
《音乐之都维也纳》教学反思
2014/04/16 职场文书
乡镇党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
2014最新自愿离婚协议书范本
2014/11/19 职场文书
领导欢迎词范文
2015/01/26 职场文书
创业计划书之家教托管
2019/09/25 职场文书
对讲机知识
2022/04/07 无线电