微信小程序 实现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 相关文章推荐
用window.location.href实现刷新另个框架页面
Mar 07 Javascript
javascript 表格排序和表头浮动效果(扩展SortTable)
Apr 07 Javascript
js form 验证函数 当前比较流行的错误提示
Jun 23 Javascript
js中settimeout方法加参数
Feb 28 Javascript
浅谈javascript的调试
Jan 28 Javascript
jQuery实现表格展开与折叠的方法
May 04 Javascript
简介JavaScript中fixed()方法的使用
Jun 08 Javascript
javascript制作幻灯片(360度全景图片)
Jul 28 Javascript
jQuery javascript获得网页的高度与宽度的实现代码
Apr 26 Javascript
深入理解JQuery循环绑定事件
Jun 02 Javascript
jQuery中table数据的值拷贝和拆分
Mar 19 Javascript
vue使用video.js进行视频播放功能
Jul 18 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
基于curl数据采集之单页面并行采集函数get_htmls的使用
2013/04/28 PHP
PHP分页详细讲解(有实例)
2013/10/30 PHP
php中实现可以返回多个值的函数实例
2015/03/21 PHP
PHP实现表单提交时去除斜杠的方法
2016/12/26 PHP
详解PHP中的 input属性(隐藏 只读 限制)
2017/08/14 PHP
CSS3画一个阴阳八卦图
2021/03/09 HTML / CSS
firefox下对ajax的onreadystatechange的支持情况分析
2009/12/14 Javascript
讨论javascript(一)工厂方式 js面象对象的定义方法
2009/12/15 Javascript
前后台交互过程中json格式如何解析以及如何生成
2012/12/26 Javascript
JavaScript作用域链使用介绍
2013/08/29 Javascript
60行js代码实现俄罗斯方块
2015/03/31 Javascript
jQuery+HTML5美女瀑布流布局实现方法
2015/09/21 Javascript
整理Javascript数组学习笔记
2015/11/29 Javascript
使用BootStrap和Metroui设计的metro风格微网站或手机app界面
2016/10/21 Javascript
Bootstrap实现渐变顶部固定自适应导航栏
2020/08/27 Javascript
JS实现选定指定HTML元素对象中指定文本内容功能示例
2017/02/13 Javascript
jQuery实现点击关注和取消功能
2017/07/03 jQuery
vue获取当前激活路由的方法
2018/03/17 Javascript
Angular入口组件(entry component)与声明式组件的区别详解
2018/04/09 Javascript
原生js实现针对Dom节点的CRUD操作示例
2019/08/26 Javascript
Python基本数据类型详细介绍
2014/03/11 Python
Python是编译运行的验证方法
2015/01/30 Python
python 实现红包随机生成算法的简单实例
2017/01/04 Python
这可能是最好玩的python GUI入门实例(推荐)
2019/07/19 Python
Python学习笔记之While循环用法分析
2019/08/14 Python
在Python中获取操作系统的进程信息
2019/08/27 Python
快速了解Python开发环境Spyder
2020/06/29 Python
Python selenium模块实现定位过程解析
2020/07/09 Python
接口自动化多层嵌套json数据处理代码实例
2020/11/20 Python
CSS3实现的文本3D效果附图
2014/09/03 HTML / CSS
时装界的“朋克之母”:Vivienne Westwood
2017/07/06 全球购物
公司门卫管理制度
2014/02/01 职场文书
店长岗位职责
2015/02/11 职场文书
电视新闻稿
2015/07/17 职场文书
JVM上高性能数据格式库包Apache Arrow入门和架构详解(Gkatziouras)
2021/05/26 Servers
Mysql中@和@@符号的详细使用指南
2022/06/05 MySQL