微信小程序 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 相关文章推荐
javascript 基础篇2 数据类型,语句,函数
Mar 14 Javascript
网站内容禁止复制和粘贴、另存为的js代码
Feb 26 Javascript
JavaScript插件化开发教程 (二)
Jan 27 Javascript
JavaScript实现给按钮加上双重动作的方法
Aug 14 Javascript
轮播图组件js代码
Aug 08 Javascript
Bootstrap源码解读排版(1)
Dec 23 Javascript
基于jQuery实现数字滚动效果
Jan 16 Javascript
MUI  Scroll插件的使用详解
Apr 13 Javascript
jQury Ajax使用Token验证身份实例代码
Sep 22 Javascript
什么是Vue.js框架 为什么选择它?
Oct 17 Javascript
Vue+webpack项目配置便于维护的目录结构教程详解
Oct 14 Javascript
简单了解three.js 着色器材质
Aug 03 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
收音机史话 - 1960年代前后的DIY
2021/03/02 无线电
关于PHP堆栈与列队的学习
2013/06/21 PHP
php无限极分类递归排序实现方法
2014/11/11 PHP
php微信开发之上传临时素材
2016/06/24 PHP
TP3.2框架分页相关实现方法分析
2020/06/03 PHP
基于php解决json_encode中文UNICODE转码问题
2020/11/10 PHP
jquery trim() 功能源代码
2011/02/14 Javascript
jquery定时滑出可最小化的底部提示层特效代码
2013/10/02 Javascript
js实现浏览本地文件并显示扩展名的方法
2015/08/17 Javascript
简单谈谈Javascript中类型的判断
2015/10/19 Javascript
基于jQuery实现的双11天猫拆红包抽奖效果
2015/12/01 Javascript
javascript使用Promise对象实现异步编程
2016/03/01 Javascript
jQuery获取select选中的option的value值实现方法
2016/08/29 Javascript
浅谈js中StringBuffer类的实现方法及使用
2016/09/02 Javascript
如何使用angularJs
2017/05/08 Javascript
详解vue-router 路由元信息
2017/09/13 Javascript
详解ionic本地相册、拍照、裁剪、上传(单图完全版)
2017/10/10 Javascript
Vue2.0 slot分发内容与props验证的方法
2017/12/12 Javascript
基于Vue2-Calendar改进的日历组件(含中文使用说明)
2019/04/14 Javascript
vue项目中引入Sass实例方法
2019/08/27 Javascript
vue设置一开始进入的页面教程
2019/10/28 Javascript
taro 实现购物车逻辑的实例代码
2020/06/05 Javascript
Python进程间通信用法实例
2015/06/04 Python
python的文件操作方法汇总
2017/11/10 Python
python使用suds调用webservice接口的方法
2019/01/03 Python
python实现数字炸弹游戏程序
2020/07/17 Python
Python中读取文件名中的数字的实例详解
2020/12/25 Python
爱尔兰家电数码商城:Currys PC World爱尔兰
2016/07/23 全球购物
兰蔻加拿大官方网站:Lancome加拿大
2016/08/05 全球购物
Chain Reaction Cycles俄罗斯:世界上最大的在线自行车商店
2019/08/27 全球购物
Yahoo的PHP面试题
2014/05/26 面试题
新农村建设标语
2014/06/24 职场文书
公安局负责人查摆问题及整改方案
2014/09/27 职场文书
欢迎新生标语
2014/10/06 职场文书
小学生暑假安全公约
2015/07/14 职场文书
python glom模块的使用简介
2021/04/13 Python