微信小程序 实现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 相关文章推荐
求得div 下 img的src地址的js代码
Feb 28 Javascript
ASP.NET jQuery 实例5 (显示CheckBoxList成员选中的内容)
Jan 13 Javascript
jquery实现点击TreeView文本父节点展开/折叠子节点
Jan 10 Javascript
详解Node.js中的事件机制
Sep 22 Javascript
vue.js学习笔记之绑定style样式和class列表
Oct 31 Javascript
js获取当前时间(昨天、今天、明天)
Nov 23 Javascript
详解使用Vue.Js结合Jquery Ajax加载数据的两种方式
Jan 10 Javascript
微信小程序 rich-text的使用方法
Aug 04 Javascript
详解Vue2.0配置mint-ui踩过的那些坑
Apr 23 Javascript
JavaScript设计模式之职责链模式应用示例
Aug 07 Javascript
使用axios请求时,发送formData请求的示例
Oct 29 Javascript
vue实现瀑布流组件滑动加载更多
Mar 10 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
图书管理程序(一)
2006/10/09 PHP
一些关于PHP的知识
2006/11/17 PHP
解决中英文字符串长度问题函数
2007/01/16 PHP
破解.net程序(dll文件)编译和反编译方法
2013/01/31 PHP
深入分析PHP优化及注意事项
2016/07/04 PHP
检测是否已安装 .NET Framework 3.5的js脚本
2009/02/14 Javascript
javascript 解析url的search方法
2010/02/09 Javascript
更优雅的事件触发兼容
2011/10/24 Javascript
判断文档离浏览器顶部的距离的方法
2014/01/08 Javascript
jQuery实现长按按钮触发事件的方法
2015/02/02 Javascript
Jquery搜索父元素操作方法
2015/02/10 Javascript
jQuery替换textarea中换行的方法
2015/06/10 Javascript
javascript控制图片播放的实现代码
2020/07/29 Javascript
简单的js表格操作
2016/09/24 Javascript
微信小程序使用第三方库Immutable.js实例详解
2016/09/27 Javascript
JavaScript字符串_动力节点Java学院整理
2017/06/27 Javascript
简述JS控制台的使用
2018/07/15 Javascript
vue项目打包部署_nginx代理访问方法详解
2018/09/20 Javascript
通过实例解析JavaScript for in及for of区别
2020/06/15 Javascript
Python实现八大排序算法
2016/08/13 Python
Python获取基金网站网页内容、使用BeautifulSoup库分析html操作示例
2019/06/04 Python
Django 实现Admin自动填充当前用户的示例代码
2019/11/18 Python
Python Flask上下文管理机制实例解析
2020/03/16 Python
Window版下在Jupyter中编写TensorFlow的环境搭建
2020/04/10 Python
python 已知平行四边形三个点,求第四个点的案例
2020/04/12 Python
python 基于pygame实现俄罗斯方块
2021/03/02 Python
自考生毕业自我鉴定
2013/10/10 职场文书
财务主管的岗位职责
2013/12/30 职场文书
《春雨》教学反思
2014/04/24 职场文书
讲党性心得体会
2014/09/03 职场文书
祖国在我心中演讲稿450字
2014/09/05 职场文书
群众路线教育实践活动整改方案(个人版)
2014/10/25 职场文书
2014年度个人工作总结
2014/11/07 职场文书
嘉宾邀请函
2015/01/31 职场文书
地道战观后感
2015/06/04 职场文书
SQL试题 使用窗口函数选出连续3天登录的用户
2022/04/24 Oracle