快速掌握微信小程序 tab 切换的实现技巧(可滑动切换)

这篇具有很好参考价值的文章主要介绍了快速掌握微信小程序 tab 切换的实现技巧(可滑动切换)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

微信小程序中的 tab 切换功能可以说是用户所需的一个基础功能。本文将介绍如何通过微信小程序实现 tab 切换功能,为用户带来更为便捷和高效的小程序体验。


实现思路

其实这个小功能的实现非常简单,只需要通过一个标识控制选项的样式及显示的内容,当我们触发点击或者滑动事件时动态的改变标识的值即可。话不多说,下面直接上实例代码。


效果1:

快速掌握微信小程序 tab 切换的实现技巧(可滑动切换)


wxml 文件

<view>
    <!-- Tab布局 -->
    <view class="navBox">
        <view class="titleBox" wx:for="{{tabList}}" bindtap="tabsOn" data-idx="{{item.index}}">
            <text class="{{item.index == tabsId ? 'fontColorBox' : ''}}">{{item.title}}</text>
            <hr class="{{item.index == tabsId ? 'lineBox' : ''}}" />
        </view>
    </view>
    <!-- 内容布局 -->
    <swiper class="swiperTtemBox" bindchange="slideOn" current="{{tabsId}}" circular>
        <!-- circular 启用循环滑动 -->
        <swiper-item>
            <view>装备内容</view>
        </swiper-item>
        <swiper-item>
            <view>活动内容</view>
        </swiper-item>
        <swiper-item>
            <view>功能内容</view>
        </swiper-item>
    </swiper>
</view>

js文件

Page({
    data: {
        // tab选项
        tabList: [
            {title: "装备",index: "0",},
            {title: "运动",index: "1",},
            {title: "功能",index: "2",}
        ],
        tabsId: 0, //默认选型为装备
    },
    // 滑动时触发的事件
    slideOn(e) {
        // 拿到当前索引并动态改变
        this.setData({
            tabsId: e.detail.current
        })
    },

    //点击tab时触发
    tabsOn(e) {
        this.setData({
            //拿到当前索引并动态改变
            tabsId: e.currentTarget.dataset.idx
        })
    },
})

wxss 文件

.navBox {
  /* tab整体样式 */
  height: 100rpx;
  padding: 0px 20%;
  display: flex;
  align-items: center;
  justify-content: space-around;
  border-bottom: 18rpx solid rgb(243, 244, 249);
}

.fontColorBox {
  /* 选中tab样式 */
  color: black;
  font-weight: bold;
}

.titleBox {
  /* 未选中tab样式 */
  color: rgb(168, 170, 175);
  font-size: 28rpx;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.lineBox {
  /* 线条样式 */
  width: 32rpx;
  height: 8rpx;
  background: black;
  margin-top: 10rpx;
  border-radius: 4rpx;
}

.swiperTtemBox {
  /* 内容样式 */
  padding: 16rpx;
  font-size: 28rpx;
  height: calc(100vh - 150rpx);
}

效果2:

快速掌握微信小程序 tab 切换的实现技巧(可滑动切换)


wxml 文件

<view class="tabBox">
    <!-- Tab布局 -->
    <view class="navBox">
        <view class="titleBox" wx:for="{{tabList}}" bindtap="tabsOn" data-idx="{{item.index}}">
            <text class="{{item.index == tabsId ? 'fontColorBox' : ''}}">{{item.title}}</text>
        </view>
    </view>
    <!-- 内容布局 -->
    <swiper class="swiperTtemBox" bindchange="slideOn" current="{{tabsId}}" circular>
        <!-- circular 启用循环滑动 -->
        <swiper-item>
            <view>装备内容</view>
        </swiper-item>
        <swiper-item>
            <view>活动内容</view>
        </swiper-item>
        <swiper-item>
            <view>功能内容</view>
        </swiper-item>
    </swiper>
</view>

wxss 文件文章来源地址https://www.toymoban.com/news/detail-503388.html

.tabBox {
    padding: 20rpx;
}

.navBox {
    /* tab整体样式 */
    height: 74rpx;
    display: flex;
    padding: 1.5% 1.5%;
    border-radius: 50rpx;
    background: #E5EEFD;
}

.fontColorBox,
.titleBox {
    /* 共同样式 */
    height: 100%;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.fontColorBox {
    /* 选中tab样式 */
    color: #fff;
    font-weight: bold;
    background: linear-gradient(151deg, #2F7EFC 0%, #7BADFC 100%);
    border-radius: 50rpx;
}

.titleBox {
    /* 未选中tab样式 */
    color: #1A1A1A;
    font-size: 28rpx;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.swiperTtemBox {
    /* 内容样式 */
    padding: 16rpx;
    font-size: 28rpx;
    height: calc(100vh - 150rpx);
}

到了这里,关于快速掌握微信小程序 tab 切换的实现技巧(可滑动切换)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序实现tab切换和数据列表

    上篇文章介绍了微信小程序实现tab切换的一种方案(参考 https://blog.51cto.com/baorant24/6188157 ),感觉代码不是很精简,本文再用一个demo介绍微信小程序如何实现tab切换和数据列表。 微信小程序对应页面文件结构如下: 话不多说,直接上代码: (1)index.js文件,代码如下: (2)index.

    2024年02月05日
    浏览(31)
  • uniapp 微信小程序实现监听屏幕左右滑动实现tab标签切换效果

            实际的项目开发之中,有很多所谓的奇葩需求,当工程量相对较大的时候去更换组件会显得特别麻烦和费时。我这次的需求因为某些特殊原因,更换组件后也无法实现需要达到的效果,所以最后只能监听滑动事件,相信你看了我的代码也能轻松搞定!          

    2024年02月14日
    浏览(41)
  • uniapp-微信小程序实现swiper左右滚动切换tab,上下滚动加载列表

    思路:左右滑动使用swiper,上下滑动用scroll-view,swiper改变时同时改变tab并更新列表 坑点: 1. swiper高度问题,导致滑动不到最底部和最顶部         需要手动计算,减去顶部高度和底部tabbar,并且需要同时设置padding-top和paddin-botton,否则列表显示不完整 2. 由于最开始的代码

    2024年02月04日
    浏览(41)
  • 【微信小程序】页面tab栏与页面内容联动_微信小程序实现tabs跟下面的内容联动

    先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7 深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前! 因此收集整理了一份《2024年最新大数据全套学习资料》,

    2024年04月28日
    浏览(28)
  • 【微信小程序入门到精通】— 微信小程序实现多页面切换(tabBar)

    对于目前形式,微信小程序是一个热门,那么我们该如何去学习并且掌握之后去做实际项目呢? 为此我特意开设此专栏,在我学习的同时也将其分享给大家! 本篇文章将给大家带来如何添加页面切换效果,我们前面所讲解的都是停留在某一页面上面进行预览,接下来我们将

    2024年02月03日
    浏览(69)
  • 策略模式的实现与应用:掌握灵活算法切换的技巧

    工厂模式(Factory Pattern) 抽象工厂模式(Abstract Factory Pattern) 单例模式(Singleton Pattern) 原型模式(Prototype Pattern) 建造者模式(Builder Pattern) 适配器模式(Adapter Pattern) 桥接模式(Bridge Pattern) 装饰器模式(Decorator Pattern) 组合模式(Composite Pattern) 外观模式(Facade P

    2024年02月15日
    浏览(29)
  • 微信小程序实现图片拖拽切换位置

    所用到组件 movable-area movable-view HTML JS CSS 图片到达可交换位置的容错值及图片一行的数量可以因需求而异。 如果有逻辑错误或冗余代码敬请指正。

    2024年02月12日
    浏览(42)
  • 微信小程序实现简单的点击切换功能(微信开发者工具)

    📚文章目录 🔗首先创建一个简单的切换按钮📋 如图下  📋wxml代码  📋wxss代码 🔗但是这个元素是无法点击的,所以要添加一个点击事件到这两个元素里面  📋js代码(在page({})里面添加) 📋wxml代码  🔗class使用三元表达式来继续点击判断  🔗使用bindtap绑定事件  事件的

    2024年02月09日
    浏览(79)
  • 微信小程序实现左右滑动进行切换数据页面(touchmove)

    手指触摸左右滑动进行切换数据 需要实现的是有一个tab栏,点选某一个tab的时候切换页面,手势滑动,左滑右滑效果和点击tab一样切换页面数据。 这里我们要先了解几个微信的事件属性 touchstart : 手指触摸动作开始 touchmove:手指触摸后移动 touchcancel:手指触摸动作被打断,

    2024年02月11日
    浏览(40)
  • 微信小程序配置实现中英文国际化语言切换

    目录 1,在根目录新建文件夹和js文件 2. 在main.js中设置全局语言状态(默认设置为中文) 3. 页面添加  语言切换按钮(登录页面) 4. 在需要显示的页面导入使用 根目录新建一个locales.js文件, 通用的一些函数可以放在此文件该文件夹下 ,如下图所示 配置中英文字段,字段要一

    2024年02月12日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包