如何实现小程序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 相关文章推荐
使用js检测浏览器的实现代码
May 14 Javascript
jQuery实现隔行背景色变色
Nov 24 Javascript
jQuery实现的支持IE的html滑动条
Mar 16 Javascript
纯Javascript实现ping功能的方法
Mar 20 Javascript
超级简单实现JavaScript MVC 样式框架
Mar 24 Javascript
javascript实现的登陆遮罩效果汇总
Nov 09 Javascript
js采用concat和sort将N个数组拼接起来的方法
Jan 21 Javascript
原生JS实现圣旨卷轴展开效果
Mar 06 Javascript
js实时监控文本框输入字数的实例代码
Jan 18 Javascript
如何为你的JS项目添加智能提示与类型检查详解
Mar 12 Javascript
Node.js API详解之 dns模块用法实例分析
May 15 Javascript
JavaScript 实现继承的几种方式
Feb 19 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中Session的概念
2006/10/09 PHP
php中定时计划任务的实现原理
2013/01/08 PHP
php模板原理讲解
2013/11/13 PHP
PHP获取二维数组中某一列的值集合
2015/12/25 PHP
thinkphp中字符截取函数msubstr()用法分析
2016/01/09 PHP
thinkphp自带验证码全面解析
2016/09/18 PHP
通过实例解析PHP数据类型转换方法
2020/07/11 PHP
node.js中的path.extname方法使用说明
2014/12/09 Javascript
Js可拖拽放大的层拖动特效实现方法
2015/02/25 Javascript
JavaScript基本的输出和嵌入式写法教程
2015/10/20 Javascript
vue环境搭建简单教程
2017/11/07 Javascript
angular2/ionic2 实现搜索结果中的搜索关键字高亮的示例
2018/08/17 Javascript
微信小程序实现通过js操作wxml的wxss属性示例
2018/12/06 Javascript
Vue动态路由缓存不相互影响的解决办法
2019/02/19 Javascript
[01:43]深扒TI7聊天轮盘语音出处4
2017/05/11 DOTA
python3使用tkinter实现ui界面简单实例
2014/01/10 Python
Python 执行字符串表达式函数(eval exec execfile)
2014/08/11 Python
Python中列表(list)操作方法汇总
2014/08/18 Python
Python多进程写入同一文件的方法
2019/01/14 Python
python+pyqt5实现图片批量缩放工具
2019/03/18 Python
Python实现的对一个数进行因式分解操作示例
2019/06/27 Python
python标记语句块使用方法总结
2019/08/05 Python
django 实现将本地图片存入数据库,并能显示在web上的示例
2019/08/07 Python
使用TFRecord存取多个数据案例
2020/02/17 Python
python GUI库图形界面开发之PyQt5多线程中信号与槽的详细使用方法与实例
2020/03/08 Python
设置jupyter中DataFrame的显示限制方式
2020/04/12 Python
浅谈sklearn中predict与predict_proba区别
2020/06/28 Python
捷克家具销售网站:SCONTO Nábytek
2020/01/02 全球购物
斯福泰克软件测试面试题
2015/02/16 面试题
介绍一下Java中的static关键字
2012/05/12 面试题
简单的辞职信范文
2014/01/18 职场文书
幼儿园教研活动方案
2014/01/19 职场文书
奥利奥广告词
2014/03/20 职场文书
大学生个人简历自我评价
2015/03/11 职场文书
高中议论文(范文2篇)
2019/08/19 职场文书
MYSQL主从数据库同步备份配置的方法
2021/05/26 MySQL