swiper实现tab栏切换

本文由hu_time作者撰写,介绍如何利用swiper.js实现Tab栏的点击及滑动切换效果。内容包括引入相关样式和文件,html结构,css样式以及javascript代码设置,特别强调了swiper-slide内的内容对于滑动切换的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

作者:hu_time
描述:运用swiper进行实现的一个tab栏点击以及滑动切换效果

需要的包

jquery
swiper4.5.0.js
swiper.css

jquery官网
swiper.js包以及css包下载地址下载地址

引入样式以及文件:

<link rel="stylesheet" href="../css/swiper/swiper4.5.0.css">
<script src="../js/jquery.js"></script>
<script src="../js/swiper/swiper-4.0.0.js"></script>

html:

<!-- 点击按钮 -->
<div class="tab">
    <div class="tabItem active">全部</div>
    <div class="tabItem">待付款</div>
    <div class="tabItem">待发货</div>
    <div class="tabItem">待收货</div>
    <div class="tabItem">待评价</div>
</div>

<!-- 全部 -->
<div class="swiper-container">
    <div class="swiper-wrapper">
        <div class="swiper-slide" id="lanlist">全部</div>
        <div class="swiper-slide" id="fukuan">待付款</div>
        <div class="swiper-slide" id="ddfh">待发货</div>
        <div class="swiper-slide" id="qdsh">待收货</div>
        <div class="swiper-slide" id="ddpj">待评价</div>
    </div>
</div>

css:

.swiper-container,
.swiper-wrapper,
.swiper-slide {
    width: 100%;
}

.swiper-slide {
    display: flex;
    align-items:flex-start;
    justify-content: space-around;
    flex-wrap: wrap;
    margin-top: 3rem;
}
/*切换按钮样式*/
.tab {
    width: 100%;
    height: 50px;
    overflow: hidden;
    border-bottom: 1px solid #eee;
    position: fixed;
    top: 2.5rem;
    left: 0;
    z-index: 999;
    background-color: #fff;
}

.tabItem {
    width: 20%;
    height: 50px;
    float: left;
    background: #fff;
    line-height: 50px;
    text-align: center;
}
/*切换按钮点击样式*/
.active {
    height: 50px;
    border-bottom: 3px solid #FE2D26;
    box-sizing: border-box;
  }

js:

var tabItem = $('.tab .tabItem');
 var mySwiper = new Swiper('.swiper-container', {
     autoplay: false,
     on: {
         //swiper从当前slide开始过渡到另一个slide时执行
         slideChangeTransitionStart: function () {
             //过渡后的slide索引
             var n = this.activeIndex;
             changeTab(n);
             // 切换的内容回到顶部
             $('html,body').animate({'scrollTop':0},10);
         }
     }
 })
 //tab点击切换silde
 tabItem.click(function () {
     var ind = $(this).index();
     changeTab(ind);
     mySwiper.slideTo(ind);
 })
 //tab切换样式
 function changeTab(index) {
     tabItem.removeClass('active').eq(index).addClass('active');
 }

注:注意swiper-slide的内容,只有滑动swiper-slide才可以进行滑动切换

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值