微信小程序导航栏跟随滑动效果的实现代码
编程学习 2021-07-04 15:50www.dzhlxh.cn编程入门
这篇文章主要介绍了小程序导航栏跟随滑动效果,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下
效果图
.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 }); } },
总结
以上所述是长沙网络推广给大家介绍的微信小程序导航栏跟随滑动效果的实现代码,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,长沙网络推广会及时回复大家的!
上一篇:基于vue实现一个神奇的动态按钮效果
下一篇:详解VSCode配置启动Vue项目