微信小程序 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 学习笔记 选择器之二
Jul 23 Javascript
jquery ui dialog里调用datepicker的问题
Aug 06 Javascript
CSS+jQuery实现的一个放大缩小动画效果
Sep 24 Javascript
js下将阿拉伯数字每三位一逗号分隔(如:15000000转化为15,000,000)
Jun 02 Javascript
Firefox中使用outerHTML的2种解决方法
Jun 07 Javascript
基于jQuery创建鼠标悬停效果的方法
Mar 07 Javascript
AngularJS基础学习笔记之指令
May 10 Javascript
AngularJS自定义指令实现面包屑功能完整实例
May 17 Javascript
详解vue-router和vue-cli以及组件之间的传值
Jul 04 Javascript
详解通过源码解析Node.js中cluster模块的主要功能实现
May 16 Javascript
对vuejs的v-for遍历、v-bind动态改变值、v-if进行判断的实例讲解
Aug 27 Javascript
Vue中使用create-keyframe-animation与动画钩子完成复杂动画
Apr 09 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
安健A254立体声随身听的分析与打磨
2021/03/02 无线电
PHP读取并输出XML文件数据的简单实现方法
2017/12/22 PHP
jQuery操作 input type=checkbox的实现代码
2012/06/14 Javascript
javascript window.confirm确认 取消对话框实现代码小结
2012/10/21 Javascript
借助script进行Http跨域请求:JSONP实现原理及代码
2013/03/19 Javascript
js 判断js函数、变量是否存在的简单示例代码
2014/03/04 Javascript
jquery.gridrotator实现响应式图片展示画廊效果
2015/06/23 Javascript
深入理解angularjs过滤器
2016/05/25 Javascript
新手学习前端之js模仿淘宝主页网站
2016/10/31 Javascript
NodeJS中的MongoDB快速入门详细教程
2016/11/11 NodeJs
node.js请求HTTPS报错:UNABLE_TO_VERIFY_LEAF_SIGNATURE\的解决方法
2016/12/18 Javascript
vue如何通过id从列表页跳转到对应的详情页
2018/05/01 Javascript
Vue数据驱动表单渲染,轻松搞定form表单
2019/07/19 Javascript
JavaScript中Object、map、weakmap的区别分析
2020/12/15 Javascript
Python实现115网盘自动下载的方法
2014/09/30 Python
python获取一组汉字拼音首字母的方法
2015/07/01 Python
深入解析Python中的集合类型操作符
2015/08/19 Python
python paramiko模块学习分享
2017/08/23 Python
Python判断文件和字符串编码类型的实例
2017/12/21 Python
使用pandas将numpy中的数组数据保存到csv文件的方法
2018/06/14 Python
python之Flask实现简单登录功能的示例代码
2018/12/24 Python
Python实现的逻辑回归算法示例【附测试csv文件下载】
2018/12/28 Python
基于Python的图像数据增强Data Augmentation解析
2019/08/13 Python
python多进程并行代码实例
2019/09/30 Python
详解python中的三种命令行模块(sys.argv,argparse,click)
2020/12/15 Python
Nanushka官网:匈牙利服装品牌
2019/08/14 全球购物
Skechers越南官方网站:来自美国的运动休闲品牌
2021/02/22 全球购物
软件测试题目
2013/02/27 面试题
小学家长会邀请函
2014/01/23 职场文书
中药专业毕业自荐书范文
2014/02/08 职场文书
《夕阳真美》教学反思
2014/04/27 职场文书
法学院毕业生求职信
2014/06/25 职场文书
2014党员四风对照检查材料思想汇报
2014/09/17 职场文书
2015年中秋晚会主持稿
2015/07/30 职场文书
python生成可执行exe控制Microsip自动填写号码并拨打功能
2021/06/21 Python
详解jQuery的核心函数和事件处理
2022/02/18 jQuery