如何实现小程序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 checkbox全选/取消全选实现代码
Nov 14 Javascript
13 个JavaScript 性能提升技巧分享
Jul 26 Javascript
javascrip关于继承的小例子
May 10 Javascript
js 图片随机不定向浮动的实现代码
Jul 02 Javascript
使用jquery实现鼠标滑过弹出更多相关信息层附源码下载
Nov 23 Javascript
jQuery插件FusionCharts实现的2D饼状图效果【附demo源码下载】
Mar 03 Javascript
详解react如何在组件中获取路由参数
Jun 15 Javascript
jQuery实现广告条滚动效果
Aug 22 jQuery
Vue指令v-for遍历输出JavaScript数组及json对象的常见方式小结
Feb 11 Javascript
使用vue重构资讯页面的实例代码解析
Nov 26 Javascript
Vue循环遍历选项赋值到对应控件的实现方法
Jun 22 Javascript
JavaScript实现Tab标签页切换的最简便方式(4种)
Jun 28 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中call_user_func_array()函数的用法演示
2012/02/05 PHP
php 模拟GMAIL,HOTMAIL(MSN),YAHOO,163,126邮箱登录的详细介绍
2013/06/18 PHP
php备份数据库类分享
2015/04/14 PHP
php写入、删除与复制文件的方法
2015/06/20 PHP
yii2学习教程之5种内置行为类详解
2017/08/03 PHP
PHP中OpenSSL加密问题整理
2017/12/14 PHP
ThinkPHP5框架缓存查询操作分析
2018/05/30 PHP
JQuery对checkbox操作 (循环获取)
2011/05/20 Javascript
javascript学习笔记(四) Number 数字类型
2012/06/19 Javascript
js加载之使用DOM方法动态加载Javascript文件
2013/11/08 Javascript
JavaScript实现按Ctrl键打开新页面
2014/09/04 Javascript
搞定immutable.js详细说明
2016/05/02 Javascript
Vue 父子组件、组件间通信
2017/03/08 Javascript
Angular.Js中过滤器filter与自定义过滤器filter实例详解
2017/05/08 Javascript
jq.ajax+php+mysql实现关键字模糊查询(示例讲解)
2018/01/02 Javascript
JQuery+drag.js上传图片并且实现图片拖曳
2020/11/18 jQuery
微信小程序自定义底部弹出框功能
2020/11/18 Javascript
[01:14]英雄,所敬略同——2018完美盛典宣传视频4K
2018/12/05 DOTA
Python 字典dict使用介绍
2014/11/30 Python
python实现的简单窗口倒计时界面实例
2015/05/05 Python
Python实现简单的多任务mysql转xml的方法
2017/02/08 Python
利用Celery实现Django博客PV统计功能详解
2017/05/08 Python
在PyCharm中实现关闭一个死循环程序的方法
2018/11/29 Python
python并发编程 Process对象的其他属性方法join方法详解
2019/08/20 Python
Python使用pymysql模块操作mysql增删改查实例分析
2019/12/19 Python
出国签证在职证明
2014/01/16 职场文书
2014三八妇女节活动总结范文四篇
2014/03/09 职场文书
大学迎新晚会主持词
2014/03/24 职场文书
企业理念标语
2014/06/09 职场文书
预防煤气中毒方案
2014/06/16 职场文书
硕士生找工作求职信
2014/07/05 职场文书
推广普通话的宣传语
2015/07/13 职场文书
2015年中秋放假通知范文
2015/08/18 职场文书
工程主管竞聘书
2015/09/15 职场文书
浅谈Redis位图(Bitmap)及Redis二进制中的问题
2021/07/15 Redis
基于Redis的List实现特价商品列表功能
2021/08/30 Redis