微信小程序 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的划词搜索实现(备忘)
Sep 14 Javascript
js onload处理html页面加载之后的事件
Oct 30 Javascript
可选择和输入的下拉列表框示例
Nov 05 Javascript
jquery操作复选框(checkbox)的12个小技巧总结
Feb 04 Javascript
jQuery中:not选择器用法实例
Dec 30 Javascript
jQuery实现右下角可缩放大小的层完整实例
Jun 20 Javascript
Vue精简版风格概述
Jan 30 Javascript
使用百度地图实现地图网格的示例
Feb 06 Javascript
解决vue 更改计算属性后select选中值不更改的问题
Mar 02 Javascript
快速解决Vue项目在IE浏览器中显示空白的问题
Sep 04 Javascript
Vue函数式组件-你值得拥有
May 09 Javascript
vue3种table表格选项个数的控制方法
Apr 14 Vue.js
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循环检测目录是否存在并创建(循环创建目录)
2011/01/06 PHP
非常好用的两个PHP函数 serialize()和unserialize()
2012/02/04 PHP
PHP的反射类ReflectionClass、ReflectionMethod使用实例
2014/08/05 PHP
WordPress开发中的get_post_custom()函数使用解析
2016/01/04 PHP
phpQuery采集网页实现代码实例
2020/04/02 PHP
Javascript 面向对象 重载
2010/05/13 Javascript
JQuery 学习技巧总结
2010/05/21 Javascript
兼容IE和Firefox的javascript获取iframe文档内容的函数
2011/08/15 Javascript
javascript游戏开发之《三国志曹操传》零部件开发(一)让静态人物动起来
2013/01/23 Javascript
探讨JavaScript标签位置的存放与功能有无关系
2016/01/15 Javascript
jQuery插件autocomplete使用详解
2017/02/04 Javascript
js canvas实现擦除效果示例代码
2017/04/26 Javascript
nodejs调取微信收货地址的方法
2017/12/20 NodeJs
浅析vue中的MVVM实现原理
2019/03/04 Javascript
Vue2.X和Vue3.0数据响应原理变化的区别
2019/11/07 Javascript
vue-router重写push方法,解决相同路径跳转报错问题
2020/08/07 Javascript
一篇文章入门Python生态系统(Python新手入门指导)
2015/12/11 Python
python中Matplotlib实现绘制3D图的示例代码
2017/09/04 Python
Python实现定时精度可调节的定时器
2018/04/15 Python
详解如何用django实现redirect的几种方法总结
2018/11/22 Python
python3+opencv3识别图片中的物体并截取的方法
2018/12/05 Python
Python GUI学习之登录系统界面篇
2019/08/21 Python
pygame实现打字游戏
2021/02/19 Python
python实现指定ip端口扫描方式
2019/12/17 Python
详解Python中import机制
2020/09/11 Python
python 爬虫如何实现百度翻译
2020/11/16 Python
HTML5 Web Workers之网站也能多线程的实现
2013/04/24 HTML / CSS
Three Graces London官网:英国奢侈品牌
2021/03/18 全球购物
命名空间(namespace)和程序集(Assembly)有什么区别
2015/09/25 面试题
物业总经理岗位职责
2014/02/28 职场文书
上课随便讲话检讨书
2014/09/12 职场文书
2015年电话客服工作总结
2015/05/18 职场文书
庆元旦主持词
2015/07/06 职场文书
汽车修理厂管理制度
2015/08/05 职场文书
CSS中妙用 drop-shadow 实现线条光影效果
2021/11/11 HTML / CSS
A22国内电台短波广播频率表
2022/05/10 无线电