微信小程序 实现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调用后台servlet方法实例
Jun 09 Javascript
关闭浏览器窗口弹出提示框并且可以控制其失效
Apr 15 Javascript
JavaScript弹窗基础篇
Apr 27 Javascript
AngularJS基础 ng-keydown 指令简单示例
Aug 02 Javascript
js制作网站首页图片轮播特效代码
Aug 30 Javascript
jQuery日程管理控件glDatePicker用法详解
Mar 29 jQuery
Vuejs实现购物车功能
Nov 05 Javascript
vue中实现移动端的scroll滚动方法
Mar 03 Javascript
vue的toast弹窗组件实例详解
May 14 Javascript
微信小程序select下拉框实现效果
May 15 Javascript
解决vue动态下拉菜单 有数据未反应的问题
Aug 06 Javascript
vue设置全局访问接口API地址操作
Aug 14 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
[原创]解决wincache不支持64位PHP5.5/5.6的问题(提供64位wincache下载)
2016/06/22 PHP
小程序微信支付功能配置方法示例详解【基于thinkPHP】
2019/05/05 PHP
Laravel 类和接口注入相关的代码
2019/10/15 PHP
Highslide.js是一款基于js实现的网页中图片展示插件
2020/03/30 Javascript
js本身的局限性 别让javascript做太多事
2010/03/23 Javascript
一个挺有意思的Javascript小问题说明
2011/09/26 Javascript
改进版通过Json对象实现深复制的方法
2012/10/24 Javascript
JavaScript实现的石头剪刀布游戏源码分享
2014/08/22 Javascript
javascript中mouseover、mouseout使用详解
2015/07/19 Javascript
jquery Easyui快速开发总结
2015/08/20 Javascript
微信小程序 跳转方式总结
2017/04/20 Javascript
JS表单传值和URL编码转换
2018/03/03 Javascript
Koa代理Http请求的示例代码
2018/10/10 Javascript
微信小程序之裁剪图片成圆形的实现代码
2018/10/11 Javascript
angular6的table组件开发的实现示例
2018/12/26 Javascript
Angular CLI 使用教程指南参考小结
2019/04/10 Javascript
jquery制作的移动端购物车效果完整示例
2020/02/24 jQuery
ES11新增的这9个新特性,你都掌握了吗
2020/10/15 Javascript
python使用Apriori算法进行关联性解析
2017/12/21 Python
Python图像处理之识别图像中的文字(实例讲解)
2018/05/10 Python
python进行文件对比的方法
2018/12/24 Python
pip install python 快速安装模块的教程图解
2019/10/08 Python
HTML5的表单(绝对特别强大的功能)使用示例
2013/06/20 HTML / CSS
美国知名户外用品畅销中心:Sierra Trading Post
2016/07/19 全球购物
俄罗斯最大的隐形眼镜销售网站:Ochkov.Net
2021/02/07 全球购物
SQL Server里面什么样的视图才能创建索引
2015/04/17 面试题
小学生暑假家长评语
2014/04/17 职场文书
保护环境标语
2014/06/09 职场文书
2015年党员干部承诺书
2015/01/21 职场文书
检讨书范文1000字
2015/01/28 职场文书
个人政治思想总结
2015/03/05 职场文书
市场督导岗位职责
2015/04/10 职场文书
大学迎新生欢迎词
2015/09/29 职场文书
python 爬取天气网卫星图片
2021/06/07 Python
浅谈MySQL函数
2021/10/05 MySQL
阿里云服务器(windows)手动部署FTP站点详细教程
2022/08/05 Servers