微信小程序 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获取函数名称、函数参数、对象属性名称的代码实例
Apr 12 Javascript
一个html5播放视频的video控件只支持android的默认格式mp4和3gp
May 08 Javascript
Javascript实现获取窗口的大小和位置代码分享
Dec 04 Javascript
JavaScript Window浏览器对象模型方法与属性汇总
Apr 20 Javascript
基于JS实现新闻列表无缝向上滚动实例代码
Jan 22 Javascript
手机图片预览插件photoswipe.js使用总结
Aug 25 Javascript
关于Javascript中document.cookie的使用
Mar 08 Javascript
node.js使用redis储存session的方法
Sep 26 Javascript
JavaScript forEach中return失效问题解决方案
Jun 01 Javascript
vue项目开启Gzip压缩和性能优化操作
Oct 26 Javascript
解决Vue-cli3没有vue.config.js文件夹及配置vue项目域名的问题
Dec 04 Vue.js
JavaScript原型链详解
Nov 07 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+AJAX实现无刷新注册(带用户名实时检测)
2007/01/02 PHP
php中字符集转换iconv函数使用总结
2014/10/11 PHP
Symfony2框架创建项目与模板设置实例详解
2016/03/17 PHP
php array_walk 对数组中的每个元素应用用户自定义函数详解
2016/11/18 PHP
Centos 6.5系统下编译安装PHP 7.0.13的方法
2016/12/19 PHP
解决jQuery动态获取手机屏幕高和宽的问题
2014/05/07 Javascript
js实现Select下拉框具有输入功能的方法
2015/02/06 Javascript
jquery中JSON的解析方式
2015/03/16 Javascript
Javascript调用函数方法的几种方式介绍
2015/03/20 Javascript
跟我学习javascript的prototype原型和原型链
2015/11/18 Javascript
基于JavaScript实现div层跟随滚动条滑动
2016/01/12 Javascript
jq实现左滑显示删除按钮,点击删除实现删除数据功能(推荐)
2016/08/23 Javascript
JS验证input输入框(字母,数字,符号,中文)
2017/03/23 Javascript
Vue实现动态响应数据变化
2017/04/28 Javascript
jquery平滑滚动到顶部插件使用详解
2017/05/08 jQuery
微信小程序使用Socket的实例
2017/09/19 Javascript
JavaScript实现修改伪类样式
2017/11/27 Javascript
微信小程序实现手势图案锁屏功能
2018/01/30 Javascript
vue 实现在函数中触发路由跳转的示例
2018/09/01 Javascript
vue webpack开发访问后台接口全局配置的方法
2018/09/18 Javascript
layui点击数据表格添加或删除一行的例子
2019/09/12 Javascript
Layui点击图片弹框预览的实现方法
2019/09/16 Javascript
解决React在安装antd之后出现的Can't resolve './locale'问题(推荐)
2020/05/03 Javascript
Java Web开发过程中登陆模块的验证码的实现方式总结
2016/05/25 Python
分享python数据统计的一些小技巧
2016/07/21 Python
python实现网页自动签到功能
2019/01/21 Python
python实现随机漫步方法和原理
2019/06/10 Python
Python合并2个字典成1个新字典的方法(9种)
2019/12/19 Python
VSCode中autopep8无法运行问题解决方案(提示Error: Command failed,usage)
2021/03/02 Python
一款纯css3实现的鼠标经过按钮特效教程
2014/11/09 HTML / CSS
开发人员所需要知道的HTML5性能分析面面观
2012/07/05 HTML / CSS
祖国在我心中演讲稿
2014/01/15 职场文书
生育关怀行动实施方案
2014/03/26 职场文书
选秀节目策划方案
2014/06/06 职场文书
工作证明格式及范本
2014/09/12 职场文书
详解CocosCreator项目结构机制
2021/04/14 Javascript