微信小程序 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代码在页面加载时的执行顺序介绍
May 03 Javascript
javascript查找字符串中出现最多的字符和次数的小例子
Oct 29 Javascript
大型JavaScript应用程序架构设计模式
Jun 29 Javascript
javascript之with的使用(阿里云、淘宝使用代码分析)
Oct 11 Javascript
PHP7新特性简述
Jun 11 Javascript
判断div滑动到底部的scroll实例代码
Nov 15 Javascript
在Vue中使用Compass的方法
Mar 02 Javascript
详解vue中点击空白处隐藏div的实现(用指令实现)
Apr 19 Javascript
微信小程序利用canvas 绘制幸运大转盘功能
Jul 06 Javascript
解决vue js IOS H5focus无法自动弹出键盘的问题
Aug 30 Javascript
vue自定义指令实现方法详解
Feb 11 Javascript
Postman如何实现参数化执行及断言处理
Jul 28 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下几种删除目录的方法总结
2007/08/19 PHP
PHP统计目录大小的自定义函数分享
2014/11/18 PHP
php实现点击可刷新验证码
2015/11/07 PHP
PHP whois查询类定义与用法示例
2019/04/03 PHP
IE中图片的onload事件无效问题和解决方法
2014/06/06 Javascript
js防止DIV布局滚动时闪动的解决方法
2014/10/30 Javascript
JavaScript实现列出数组中最长的连续数
2014/12/29 Javascript
JS/jQuery判断DOM节点是否存在的简单方法
2016/11/24 Javascript
利用vue-router实现二级菜单内容转换
2016/11/30 Javascript
js实现彩色条纹滚动条效果
2017/03/15 Javascript
纯html+css+javascript实现楼层跳跃式的页面布局(实例代码)
2017/10/25 Javascript
了解javascript中let和var及const关键字的区别
2019/05/24 Javascript
js与jquery获取input输入框中的值实例讲解
2020/02/27 jQuery
JS实现简单移动端鼠标拖拽
2020/07/23 Javascript
JS如何实现在弹出窗口中加载页面
2020/12/03 Javascript
JS相册图片抖动放大展示效果的示例代码
2021/01/29 Javascript
微信小程序组件生命周期的踩坑记录
2021/03/03 Javascript
[18:20]DOTA2 HEROS教学视频教你分分钟做大人-昆卡
2014/06/11 DOTA
Python中使用中文的方法
2011/02/19 Python
Python中使用ConfigParser解析ini配置文件实例
2014/08/30 Python
python3 模拟登录v2ex实例讲解
2017/07/13 Python
spyder常用快捷键(分享)
2017/07/19 Python
Python 内置函数memoryview(obj)的具体用法
2017/11/23 Python
python3 pandas 读取MySQL数据和插入的实例
2018/04/20 Python
PyQt5实现从主窗口打开子窗口的方法
2019/06/19 Python
Python基于机器学习方法实现的电影推荐系统实例详解
2019/06/25 Python
简单了解python中的f.b.u.r函数
2019/11/02 Python
pycharm激活码有效到2020年11月底
2020/09/18 Python
python实现串口通信的示例代码
2020/02/10 Python
Python的Django框架实现数据库查询(不返回QuerySet的方法)
2020/05/19 Python
美国农场商店:Blain’s Farm & Fleet
2020/01/17 全球购物
2014年三八妇女节活动总结
2014/03/01 职场文书
卖房协议书
2014/04/11 职场文书
家长评语怎么写
2014/12/30 职场文书
vue实现水波涟漪效果的点击反馈指令
2021/05/31 Vue.js
Go语言编译原理之源码调试
2022/08/05 Golang