微信小程序 实现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 相关文章推荐
离开页面时检测表单元素是否被修改,提示保存的js代码
Aug 25 Javascript
学习并汇集javascript匿名函数
Nov 25 Javascript
jQuery实现鼠标滑过链接控制图片的滑动展开与隐藏效果
Oct 28 Javascript
js实现带农历和八字等信息的日历特效
May 16 Javascript
jQuery实现的tab标签切换效果示例
Sep 05 Javascript
详解js的六大数据类型
Dec 27 Javascript
解决layui上传文件提示上传异常,实际文件已经上传成功的问题
Aug 19 Javascript
2种在vue项目中使用百度地图的简单方法
Sep 28 Javascript
Vue入门学习笔记【基本概念、对象、过滤器、指令等】
Apr 13 Javascript
微信小程序通过js实现瀑布流布局详解
Aug 28 Javascript
详解vue中$nextTick和$forceUpdate的用法
Dec 11 Javascript
小程序自定义模板实现吸顶功能
Jan 08 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
c#中的实现php中的preg_replace
2009/12/21 PHP
一个PHP分页类的代码
2011/05/18 PHP
PHP中date与gmdate的区别及默认时区设置
2014/05/12 PHP
destoon调用企业会员公司形象图片的实现方法
2014/08/21 PHP
php常用字符串比较函数实例汇总
2014/11/24 PHP
简单的自定义php模板引擎
2016/08/26 PHP
万能的php分页类
2017/07/06 PHP
php使用scandir()函数扫描指定目录下所有文件示例
2019/06/08 PHP
php生成静态页面并实现预览功能
2019/06/27 PHP
php实现快速对二维数组某一列进行组装的方法小结
2019/12/04 PHP
Nigma vs Alliance BO5 第三场2.14
2021/03/10 DOTA
javascript setTimeout和setInterval 的区别
2009/12/08 Javascript
JavaScript 的继承
2011/10/01 Javascript
JS性能优化笔记搜索整理
2013/08/21 Javascript
原生javascript实现无间缝滚动示例
2014/01/28 Javascript
node.js中的console.timeEnd方法使用说明
2014/12/09 Javascript
jQuery中innerHeight()方法用法实例
2015/01/19 Javascript
JS简单计算器实例
2015/01/20 Javascript
使用OpenLayers3 添加地图鼠标右键菜单
2015/12/29 Javascript
jQuery动画效果实现图片无缝连续滚动
2016/01/12 Javascript
jQuery Validate验证表单时多个name相同的元素只验证第一个的解决方法
2016/12/24 Javascript
AngularJS使用ng-inlude指令加载页面失败的原因与解决方法
2017/01/19 Javascript
360提示[高危]使用存在漏洞的JQuery版本的解决方法
2017/10/27 jQuery
jQuery创建及操作xml格式数据示例
2018/05/26 jQuery
JS html事件冒泡和事件捕获操作示例
2019/05/01 Javascript
详细分析vue响应式原理
2020/06/22 Javascript
javascript中闭包closure的深入讲解
2021/03/03 Javascript
突袭HTML5之Javascript API扩展5—其他扩展(应用缓存/服务端消息/桌面通知)
2013/01/31 HTML / CSS
英国领先的酒杯和水晶玻璃器皿制造商:Dartington Crystal
2019/06/23 全球购物
描述内存分配方式以及它们的区别
2016/10/15 面试题
影视艺术学院毕业生自荐信
2013/11/13 职场文书
2013年员工自我评价范文
2013/12/27 职场文书
学生干部的自我评价分享
2014/01/18 职场文书
安全生产专项整治方案
2014/05/06 职场文书
纪检干部个人对照检查材料
2014/09/23 职场文书
德劲DE1108畅想
2021/04/22 无线电