微信小程序导航栏跟随滑动效果的实现代码

 更新时间:2019年05月14日 17:17:28   作者:一夜幽  
这篇文章主要介绍了小程序导航栏跟随滑动效果,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下

效果图

.wxml

<view class='tabBar'>
<view class='tabItem wx:if="{{tabClick===0?"click":""}}"' bindtap='clickTab' data-index='0'>tab1</view>
<view class='tabItem wx:if="{{tabClick===1?"click":""}}"' bindtap='clickTab' data-index='1'>tab2 </view>
<view class='tabItem wx:if="{{tabClick===2?"click":""}}"' bindtap='clickTab' data-index='2'>tab3 </view>
<view class='underline' animation="{{animationData}}" style='left:{{isLeft}}'></view>
</view>

.wxss

.tabBar{
height: 80rpx;
background-color:#50B7EA;
width: 100%;
font-size: 28rpx;
color: rgba(255,255,255,0.50);
position: fixed;
top: 0;
left: 0;
display: flex;
justify-content: center;
align-items: center;
z-index: 997;
}
.tabItem{
width: 33.333%;
display: flex;
align-content: center;
justify-content: center;
position: relative;
height: 100%;
font-size: 28rpx;
}
.click{
color: white;
}
.underline{
position: absolute;
content: '';
width: 84rpx;
height: 3px;
background-color:white;
bottom: 0;
} 

.js

data:{
tabClick: 0,
animationData: {},
 isLeft: '12%'
},
swiperTab: function (e) {
var that = this;
var index = e.detail.current
console.log(e.detail.current)
var animation = wx.createAnimation({
duration: 1000,
timingFunction: "ease",
})
this.animation = animation
if (index === 0) {
animation.translate(0, 0).step();
that.setData({
animationData: animation.export()
})
that.setData({
tabClick: e.detail.current
});
} else if (index === 1) {
var w = wx.getSystemInfoSync().windowWidth;
w = w * 0.32
animation.translate(w, 0).step();
that.setData({
animationData: animation.export()
})
that.setData({
tabClick: e.detail.current
});
} else if(index === 2){
var w = wx.getSystemInfoSync().windowWidth;
w = w * 0.65
animation.translate(w, 0).step();
that.setData({
animationData: animation.export()
})
that.setData({
tabClick: e.detail.current
});
}
}, 

总结 

  以上所述是小编给大家介绍的微信小程序导航栏跟随滑动效果的实现代码,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

相关文章

  • 微信小程序新手入门之自定义组件的使用

    微信小程序新手入门之自定义组件的使用

    最近在用自定义组件搭建小程序,简单记录下步骤,所以这篇文章主要给大家介绍了关于微信小程序新手入门之自定义组件使用的相关资料,需要的朋友可以参考下
    2021-05-05
  • js事件监听器用法实例详解

    js事件监听器用法实例详解

    这篇文章主要介绍了js事件监听器用法,以实例形式较为详细的分析了javascript事件监听器使用注意事项与相关技巧,需要的朋友可以参考下
    2015-06-06
  • JavaScript你不知道的一些数组方法

    JavaScript你不知道的一些数组方法

    这篇文章主要介绍了JavaScript你不知道的一些数组方法,需要的朋友可以参考下
    2017-08-08
  • JavaScript数组操作函数汇总

    JavaScript数组操作函数汇总

    这篇文章主要针对JavaScript数组操作函数push,pop,join,shift,unshift,slice,splice,concat进行总结,感兴趣的小伙伴们可以参考一下
    2016-08-08
  • 一个特帅的展示图片的js+css

    一个特帅的展示图片的js+css

    一个特帅的展示图片的js+css...
    2006-08-08
  • 老生常谈JS中的继承及实现代码

    老生常谈JS中的继承及实现代码

    这篇文章主要介绍了js中的继承及实现代码,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-07-07
  • Bootstrap table使用方法记录

    Bootstrap table使用方法记录

    这篇文章主要为大家详细介绍了Bootstrap table的使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • Bootstrap 3.x打印预览背景色与文字显示异常的解决

    Bootstrap 3.x打印预览背景色与文字显示异常的解决

    前几天同事有个问题咨询我,他在调用print()来打印页面,发现打印预览页面上的背景色无法显示以及文字总是显示为黑色,感觉非常奇怪,我通过测试发现是Bootstrap的问题,现在将解决的方法分享给大家,希望可以帮助到同样遇到这个问题的朋友们,下面来一起看看。
    2016-11-11
  • ECharts柱状排名图柱子上方显示文字与图标代码实例

    ECharts柱状排名图柱子上方显示文字与图标代码实例

    我们在绘制柱状图时如果想要柱条上显示文字,可以参考本文,这篇文章主要给大家介绍了关于ECharts柱状排名图柱子上方显示文字与图标的相关资料,需要的朋友可以参考下
    2023-11-11
  • 深入理解JS中attribute和property的区别

    深入理解JS中attribute和property的区别

    property 和 attribute非常容易混淆,但实际上,二者是不同的东西,属于不同的范畴,本文就详细的介绍一下JS中attribute和property的区别 ,感兴趣的可以了解一下
    2022-02-02

最新评论