微信小程序 tabs选项卡效果的实现


Posted in Javascript onJanuary 05, 2017

微信小程序 tabs选项卡效果

前言:

最近微信应用号是炒的如火如荼,热门满满,但是也可以发现搜索关键词出来,各类网站出现的还都是微信的官方文档解释。正好赶上这个热潮,这几天先把小程序技术文档看了个遍,就直接着手写案例了。很多组件微信内部已经封装完了,正好发现没有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 相关文章推荐
jQuery中is()方法用法实例
Jan 06 Javascript
深入理解JavaScript系列(42):设计模式之原型模式详解
Mar 04 Javascript
基于jquery ui的alert,confirm方案(支持换肤)
Apr 03 Javascript
JS闭包、作用域链、垃圾回收、内存泄露相关知识小结
May 16 Javascript
阻止表单提交按钮多次提交的完美解决方法
May 16 Javascript
jQuery实现的表头固定效果实例【附完整demo源码下载】
Aug 01 Javascript
react 父组件与子组件之间的值传递的方法
Sep 14 Javascript
Vue中对拿到的数据进行A-Z排序的实例
Sep 25 Javascript
深入解析ES6中的promise
Nov 08 Javascript
vue+element+Java实现批量删除功能
Apr 08 Javascript
在vant中使用时间选择器和popup弹出层的操作
Nov 04 Javascript
JS ES6异步解决方案
Apr 29 Javascript
jQuery密码强度验证控件使用详解
Jan 05 #Javascript
jquery广告无缝轮播实例
Jan 05 #Javascript
JavaScript自定义浏览器滚动条兼容IE、 火狐和chrome
Jan 05 #Javascript
javascript添加前置0(补零)的几种方法
Jan 05 #Javascript
微信小程序 实战实例开发流程详细介绍
Jan 05 #Javascript
利用jquery禁止外层滚动条的滚动
Jan 05 #Javascript
bootstrap table配置参数例子
Jan 05 #Javascript
You might like
PHP与SQL注入攻击[一]
2007/04/17 PHP
将文件夹压缩成zip文件的php代码
2009/12/14 PHP
使用URL传输SESSION信息
2015/07/14 PHP
两种php给图片加水印的实现代码
2020/04/18 PHP
用于自动添加Digg This!按钮的JavaScript
2006/12/23 Javascript
jquery乱码与contentType属性设置问题解决方案
2013/01/07 Javascript
获取表单控件原始(初始)值的方法
2013/08/21 Javascript
javascript中数组的冒泡排序使用示例
2013/12/18 Javascript
gridview生成时如何去掉style属性中的border-collapse
2014/09/30 Javascript
jQuery的deferred对象详解
2014/11/12 Javascript
jquery获取select选中值的方法分析
2015/12/22 Javascript
jQuery stop()用法实例详解
2016/07/28 Javascript
jQuery内容过滤选择器用法示例
2016/09/09 Javascript
基于Bootstrap漂亮简洁的CSS3价格表(附源码下载)
2017/02/28 Javascript
基于javaScript的this指向总结
2017/07/22 Javascript
jQuery zTree 异步加载添加子节点重复问题
2017/11/29 jQuery
微信小程序中进行地图导航功能的实现方法
2018/06/29 Javascript
vue鼠标移入添加class样式,鼠标移出去除样式(active)实现方法
2018/08/22 Javascript
mock.js实现模拟生成假数据功能示例
2019/01/15 Javascript
在layui tab控件中载入外部html页面的方法
2019/09/04 Javascript
Vue学习之常用指令实例详解
2020/01/06 Javascript
python操作MongoDB基础知识
2013/11/01 Python
python文件比较示例分享
2014/01/10 Python
Python使用windows设置定时执行脚本
2020/11/12 Python
一款纯css3实现的鼠标经过按钮特效教程
2014/11/09 HTML / CSS
英国剑桥包官网:The Cambridge Satchel Company
2016/08/01 全球购物
城市观光通行证:The Sightseeing Pass
2018/04/28 全球购物
英国现代、当代和设计师家具店:Furntastic
2020/07/18 全球购物
金讯Java笔试题目
2013/06/18 面试题
简历上的自我评价
2014/02/03 职场文书
国培计划培训感言
2014/03/11 职场文书
美丽的大脚观后感
2015/06/03 职场文书
2016年植树节红领巾广播稿
2015/12/17 职场文书
Spring 使用注解开发
2022/05/20 Java/Android
mysql全面解析json/数组
2022/07/07 MySQL
使用 DataAnt 监控 Apache APISIX的原理解析
2022/07/07 Servers