微信小程序 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的初始化与对象构建之浅析
Apr 12 Javascript
node.js中Socket.IO的进阶使用技巧
Nov 04 Javascript
jQuery中get()方法用法实例
Dec 27 Javascript
JavaScript获取当前网页最后修改时间的方法
Apr 03 Javascript
jQuery实现的AJAX简单弹出层效果代码
Nov 26 Javascript
纯JavaScript基于notie.js插件实现消息提示特效
Jan 18 Javascript
jquery判断对象是否为空并遍历对象的简单实例
Jul 26 Javascript
jQuery的Cookie封装,与PHP交互的简单实现
Oct 05 Javascript
Node.js之网络通讯模块实现浅析
Apr 01 Javascript
node.js中事件触发器events的使用方法实例分析
Nov 23 Javascript
Vue.directive 实现元素scroll逻辑复用
Nov 29 Javascript
JavaScript手写数组的常用函数总结
Nov 22 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开发者常犯的10个MySQL错误更正剖析
2012/01/30 PHP
php中base_convert()进制数字转换函数实例
2014/11/20 PHP
thinkphp autoload 命名空间自定义 namespace
2015/07/17 PHP
cakephp常见知识点汇总
2017/02/24 PHP
Extjs中DisplayField的日期或者数字格式化扩展
2010/09/03 Javascript
JS函数验证总结(方便js客户端输入验证)
2010/10/29 Javascript
实测jquery data()如何存值
2013/08/18 Javascript
jQuery图片轮播的具体实现
2013/09/11 Javascript
jquery mobile的触控点击事件会多次触发问题的解决方法
2014/05/08 Javascript
不到30行JS代码实现Excel表格的方法
2014/11/15 Javascript
AngularJs bootstrap搭载前台框架——基础页面
2016/09/01 Javascript
JavaScript 闭包详细介绍
2016/09/28 Javascript
JS中使用 after 伪类清除浮动实例
2017/03/01 Javascript
详解react-native WebView 返回处理(非回调方法可解决)
2018/02/27 Javascript
vue.js实现简单购物车功能
2020/05/30 Javascript
在Python中使用dict和set方法的教程
2015/04/27 Python
python插入数据到列表的方法
2015/04/30 Python
python通过函数属性实现全局变量的方法
2015/05/16 Python
Python自定义函数定义,参数,调用代码解析
2017/12/27 Python
TensorFlow实现模型评估
2018/09/07 Python
Django单元测试工具test client使用详解
2019/08/02 Python
django组合搜索实现过程详解(附代码)
2019/08/06 Python
python 直接赋值和copy的区别详解
2019/08/07 Python
python使用多线程编写tcp客户端程序
2019/09/02 Python
python exit出错原因整理
2020/08/31 Python
使用Python中tkinter库简单gui界面制作及打包成exe的操作方法(二)
2020/10/12 Python
奶茶专卖店创业计划书
2014/01/18 职场文书
机关干部三严三实心得体会
2014/10/13 职场文书
硕士学位论文评语
2014/12/31 职场文书
个人党性锻炼总结
2015/03/05 职场文书
小学生2015教师节演讲稿
2015/03/19 职场文书
农民工工资支付承诺书
2015/05/04 职场文书
家庭聚会祝酒词
2015/08/11 职场文书
考教师资格证不要错过的4个最佳时机
2019/07/17 职场文书
React实现动效弹窗组件
2021/06/21 Javascript
Java并发编程之详解CyclicBarrier线程同步
2021/06/23 Java/Android