如何实现小程序tab栏下划线动画效果


Posted in Javascript onMay 18, 2019

本文主要介绍了如何实现小程序tab栏下划线动画效果,分享给大家,具体如下:

最终效果

如何实现小程序tab栏下划线动画效果

实现

wxml

<view class='abox'>
  <view wx:for="{{title}}" class='{{currentIndex==index?"tabTrue":""}}' bindtap='changeTab' data-aa='{{index}}'>
   {{item}}
  
  </view>
  <view class='b' style="left:{{left}}px"></view>
</view>

wxss

.abox{
 display: flex;
 flex-direction: row;
 width: 100%;
 justify-content: space-around;
 position: relative;
 padding-bottom: 20rpx;
}

.tabTrue{
 color: red;
}
.b{
 background: red;
 height: 4rpx;
 width:64rpx;
 position: absolute;
 bottom: 0;
 transition: all .3s linear;
}

js

Page({
 data: {
  title: ["首页","掘金","思否","知乎"],
  currentIndex:"0",
  left:""
 },
 changeTab:function(e){
  //console.log(e)
  this.setData({
   currentIndex: e.currentTarget.dataset.aa
  })
  this.changeline(e)
  
 },
 changeline:function(){
  const query = wx.createSelectorQuery()
  var _this = this
  query.select('.tabTrue').boundingClientRect()
  query.exec(function (res) {
   _this.setData({
    left: res[0].left
   })
   //console.log(res[0].left)
  })
 },
 onLoad: function () {
  
  this.changeline(1)
  
 }
})

上面代码可以实现效果,这里面最重要的就是通过 changeTab方法获取有tabtrue这个class的标签,获取到标签的left值。

Javascript 相关文章推荐
jQuery入门第一课 jQuery选择符
Mar 14 Javascript
25个好玩的JavaScript小游戏分享
Apr 22 Javascript
jquery 图片上传按比例预览插件集合
May 28 Javascript
jsp js鼠标移动到指定区域显示选项卡离开时隐藏示例
Jun 14 Javascript
使用jquery菜单插件HoverTree仿京东无限级菜单
Dec 18 Javascript
jQuery之DOM对象和jQuery对象的转换与区别分析
Jan 08 Javascript
基于d3.js实现实时刷新的折线图
Aug 03 Javascript
基于angularjs实现图片放大镜效果
Aug 31 Javascript
微信小程序 wx.request方法的异步封装实例详解
May 18 Javascript
JS按条件 serialize() 对应标签的使用方法
Jul 24 Javascript
layui-table表复选框勾选的所有行数据获取的例子
Sep 13 Javascript
Vue实现开心消消乐游戏算法
Oct 22 Javascript
微信小程序结合Storage实现搜索历史效果
May 18 #Javascript
Fetch超时设置与终止请求详解
May 18 #Javascript
微信小程序实现搜索历史功能
Mar 26 #Javascript
微信小程序云开发修改云数据库中的数据方法
May 18 #Javascript
小程序云开发教程如何使用云函数实现点赞功能
May 18 #Javascript
微信小程序实现元素渐入渐出动画效果封装方法
May 18 #Javascript
微信小程序收货地址API兼容低版本解决方法
May 18 #Javascript
You might like
php中让上传的文件大小在上传前就受限制的两种解决方法
2013/06/24 PHP
php使用pdo连接报错Connection failed SQLSTATE的解决方法
2014/12/15 PHP
支持png透明图片的php生成缩略图类分享
2015/02/08 PHP
一个实用的php验证码类
2017/07/06 PHP
PHP基于堆栈实现的高级计算器功能示例
2017/09/15 PHP
深入分析Cookie的安全性问题
2015/03/01 Javascript
详解js跨域原理以及2种解决方案
2015/12/09 Javascript
jQuery中checkbox反复调用attr('checked', true/false)只有第一次生效的解决方法
2016/11/16 Javascript
JavaScript中object和Object的区别(详解)
2017/02/27 Javascript
JavaScript数组、json对象、eval()函数用法实例分析
2019/02/21 Javascript
[03:56]还原FTP电影首映式 DOTA2群星拼出遗迹世界
2014/03/26 DOTA
[01:03:36]DOTA2-DPC中国联赛 正赛 VG vs Magma BO3 第二场 1月26日
2021/03/11 DOTA
Python+Pika+RabbitMQ环境部署及实现工作队列的实例教程
2016/06/29 Python
django 实现电子支付功能的示例代码
2018/07/25 Python
示例详解Python3 or Python2 两者之间的差异
2018/08/23 Python
python浪漫表白源码
2019/04/05 Python
python绘图模块matplotlib示例详解
2019/07/26 Python
Python字符串处理的8招秘籍(小结)
2019/08/13 Python
Django 自定义分页器的实现代码
2019/11/24 Python
python_mask_array的用法
2020/02/18 Python
Django Admin后台添加数据库视图过程解析
2020/04/01 Python
keras输出预测值和真实值方式
2020/06/27 Python
HTML5 input新增type属性color颜色拾取器的实例代码
2018/08/27 HTML / CSS
html5中使用hotcss.js实现手机端自适配的方法
2020/04/23 HTML / CSS
很酷的小工具和电子产品商城:GearBest
2016/11/19 全球购物
美国网上花店:JustFlowers
2017/02/12 全球购物
澳大利亚家居用品零售商:Harris Scarfe
2020/10/10 全球购物
如何将整数int转换成字串String
2014/03/21 面试题
ajax是什么及其工作原理
2012/02/08 面试题
宿舍标语大全
2014/06/19 职场文书
应届生找工作求职信
2014/06/24 职场文书
团员个人总结
2015/02/26 职场文书
小学教师个人工作总结2015
2015/04/20 职场文书
css3 实现文字闪烁效果的三种方式示例代码
2021/04/25 HTML / CSS
java固定大小队列的几种实现方式详解
2021/07/15 Java/Android
关于python类SortedList详解
2021/09/04 Python