微信小程序 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 相关文章推荐
top.location.href 没有权限 解决方法
Aug 05 Javascript
JavaScript 创建对象和构造类实现代码
Jul 30 Javascript
JavaScript起点(严格模式深度了解)
Jan 28 Javascript
js字符串转换成xml对象并使用技巧解读
Apr 18 Javascript
整理的比较全的event对像在ie与firefox浏览器中的区别
Nov 25 Javascript
JavaScript 程序错误Cannot use 'in' operator to search的解决方法
Jul 10 Javascript
react native带索引的城市列表组件的实例代码
Aug 08 Javascript
Nuxt.js实战详解
Jan 18 Javascript
vscode vue 文件模板的配置方法
Jul 23 Javascript
layui数据表格 table.render 报错的解决方法
Sep 29 Javascript
让IDE识别webpack的别名alias的实现方法
May 06 Javascript
15个简单的JS编码标准让你的代码更整洁(小结)
Jul 16 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在线打包程序源码
2008/07/27 PHP
解析thinkphp中的导入文件标签
2013/06/20 PHP
CSS+Table图文混排中实现文本自适应图片宽度(超简单+跨所有浏览器)
2009/02/14 Javascript
jquery select选中的一个小问题
2009/10/11 Javascript
JavaScript File API实现文件上传预览
2016/02/02 Javascript
深入解析Javascript闭包的功能及实现方法
2016/07/10 Javascript
vue.js 表格分页ajax 异步加载数据
2016/10/18 Javascript
javascript判断firebug是否开启的方法
2016/11/23 Javascript
教大家轻松制作Bootstrap漂亮表格(table)
2016/12/13 Javascript
JS实现iframe自适应高度的方法示例
2017/01/07 Javascript
assert()函数用法总结(推荐)
2017/01/25 Javascript
从零开始学习Node.js系列教程之SQLite3和MongoDB用法分析
2017/04/13 Javascript
详解windows下vue-cli及webpack 构建网站(三)使用组件
2017/06/17 Javascript
JavaScript字符串_动力节点Java学院整理
2017/06/27 Javascript
Angularjs的键盘事件的绑定
2017/07/27 Javascript
深入浅析vue中cross-env的使用
2019/09/12 Javascript
vue实现图片按比例缩放问题操作
2020/08/11 Javascript
微信小程序tab左右滑动切换功能的实现代码
2021/02/08 Javascript
Python+Selenium自动化实现分页(pagination)处理
2017/03/31 Python
python字符串string的内置方法实例详解
2018/05/14 Python
浅谈python之高阶函数和匿名函数
2019/03/21 Python
Python for循环与range函数的使用详解
2019/03/23 Python
Django时区详解
2019/07/24 Python
Django REST framework内置路由用法
2019/07/26 Python
JupyterNotebook设置Python环境的方法步骤
2019/12/03 Python
Pytorch Tensor基本数学运算详解
2019/12/30 Python
python对指定字符串逆序的6种方法(小结)
2020/04/02 Python
Python socket服务常用操作代码实例
2020/06/22 Python
奥地利顶级内衣丝袜品牌英国站:Wolford英国
2016/08/29 全球购物
科颜氏英国官网:Kiehl’s英国
2019/11/20 全球购物
个人简历自我鉴定
2013/10/11 职场文书
软件测试专业推荐信
2014/09/18 职场文书
2015年机关党委工作总结
2015/05/23 职场文书
导游词之南京中山陵
2019/11/27 职场文书
Go语言实现Base64、Base58编码与解码
2021/07/26 Golang
JavaScript实例 ODO List分析
2022/01/22 Javascript