微信小程序实现顶部导航特效
程序员文章站
2023-12-06 09:12:40
本文实例为大家分享了微信小程序实现顶部导航的具体代码,供大家参考,具体内容如下
之前android开发时,顶部导航用到viewpage,微信小程序里想要达到同样的效果,可...
本文实例为大家分享了微信小程序实现顶部导航的具体代码,供大家参考,具体内容如下
之前android开发时,顶部导航用到viewpage,微信小程序里想要达到同样的效果,可用swiper来实现,先看效果图
上代码:
1.swipertab.js
page({ data: { // tab切换 currenttab: 0, }, swichnav: function (e) { console.log(e); var that = this; if (this.data.currenttab === e.target.dataset.current) { return false; } else { that.setdata({ currenttab: e.target.dataset.current, }) } }, swiperchange: function (e) { console.log(e); this.setdata({ currenttab: e.detail.current, }) }, onload: function (options) { // 生命周期函数--监听页面加载 }, onready: function () { // 生命周期函数--监听页面初次渲染完成 }, onshow: function () { // 生命周期函数--监听页面显示 }, onhide: function () { // 生命周期函数--监听页面隐藏 }, onunload: function () { // 生命周期函数--监听页面卸载 }, onpulldownrefresh: function () { // 页面相关事件处理函数--监听用户下拉动作 }, onreachbottom: function () { // 页面上拉触底事件的处理函数 }, onshareappmessage: function () { // 用户点击右上角分享 return { title: 'title', // 分享标题 desc: 'desc', // 分享描述 path: 'path' // 分享路径 } } })
2.swipertab.wxml
<view class="page"> <!--顶部导航栏--> <view class="swiper-tab"> <view class="tab-item {{currenttab==0 ? 'on' : ''}}" data-current="0" bindtap="swichnav">tab1</view> <view class="tab-item {{currenttab==1 ? 'on' : ''}}" data-current="1" bindtap="swichnav">tab2</view> <view class="tab-item {{currenttab==2 ? 'on' : ''}}" data-current="2" bindtap="swichnav">tab3</view> </view> <!--内容主体--> <swiper class="swiper" current="{{currenttab}}" duration="200" bindchange="swiperchange"> <swiper-item> <view>我是tab1</view> </swiper-item> <swiper-item> <view>我是tab2</view> </swiper-item> <swiper-item> <view>我是tab3</view> </swiper-item> </swiper> </view>
3.swipertab.wxss
.page { margin-left: 10rpx; margin-right: 10rpx; } .swiper-tab { display: flex; flex-direction: row; line-height: 80rpx; border-bottom: 2rpx solid #777; } .tab-item { width: 33.3%; text-align: center; font-size: 15px; color: #777; } .swiper { height: 1100px; background: #dfdfdf; } .on { color: blue; border-bottom: 5rpx solid blue; }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。