自定义页签整合swiper切换

整合swiper,点击页签滚动至指定页面和切换页面自动选中页签。

需要引入swiper.min.js和swiper.min.css文件下载地址

swiper的HTML内容

//如果不需要拖拽滚动 在此class中加上 swiper-no-swiping
<div class="swiper-container">
    <div class="swiper-wrapper">
        <div class="swiper-slide">Slide 1</div>
        <div class="swiper-slide">Slide 2</div>
        <div class="swiper-slide">Slide 3</div>
    </div>
    <!-- 如果需要分页器 -->
    <div class="swiper-pagination"></div>
    
    <!-- 如果需要导航按钮 -->
    <div class="swiper-button-prev"></div>
    <div class="swiper-button-next"></div>
    
    <!-- 如果需要滚动条 -->
    <div class="swiper-scrollbar"></div>
</div>

初始化swiper

<script>        
  var mySwiper = new Swiper ('.swiper-container', {
    direction: 'vertical', // 垂直切换选项
    loop: true, // 循环模式选项 **注:如果需要提交表单数据要把loop注释掉**
    
    // 如果需要分页器
    pagination: {
      el: '.swiper-pagination',
    },
    
    // 如果需要前进后退按钮
    navigation: {
      nextEl: '.swiper-button-next',
      prevEl: '.swiper-button-prev',
    },
    
    // 如果需要滚动条
    scrollbar: {
      el: '.swiper-scrollbar',
    },
  })        
  </script>

自定义事件切换swiper页面

$(".tab_button").on("click",function(){
            if($(".selectTab").length>0){
                $(".selectTab").removeClass("selectTab");
            }
            $(this).addClass("selectTab");
			//上面不用看,是为了切换选中页签效果的。
			
            //滚动至指定的index +1为slide的页码
            //如果开启了loop模式 swiper的页码是从1开始,要+1,700为切换的间隔毫秒数。不开启loop则不用+1。
            mySwiper.slideTo($(this).index()+1, 700, true)
        })

swiper滚动切换的时候,自动切换页签。
在初始化swiper的时候加上回调函数的配置项

on:{
            slideChangeTransitionStart:function(){
                //回调方法
                //下面方法中 this.realIndex 为滚动到的页面的真实下标,从0开始。
                $(".tab_button").eq(this.realIndex).trigger("click");
            },
        },

以下为自定义页签样式,不要的请忽略。

页签1为选中样式,页签3为鼠标移入样式展示效果
下面上代码
自定义页签HTML内容

<div class="title_buttons">
    <div class="tab_button selectTab"><p>页签1</p></div>
    <div class="tab_button"><p>页签2</p></div>
    <div class="tab_button"><p>页签3</p></div>
    <div class="tab_button"><p>页签4</p></div>
</div>

css样式

    .title_buttons{
        height: 37px;
        width: 100%;
        border-bottom:solid 1px #e0e0de;
    }
    .tab_button{
        display: inline-block;
        height: 100%;

        float: left;
        cursor: pointer;
        box-sizing: content-box;
        transition: 0.5s;
        box-shadow: 5px 5px 10px #dcdcdc;

        border-top: solid 2px #f9f9f9;
        border-right: solid 1px #e0e0de;
    }
    .tab_button >p{
        -webkit-user-select:none;
        position: relative;
        top: 47%;
        transform: translateY(-50%);
        margin: auto 10px;
        color:#868686;
        transition: 0.5s;
    }
    .selectTab{
        background-color: #ffffff;
        border-top: solid 2px #1e91e2;
        border-right: solid 1px #e0e0de;
    }
    .selectTab p{
        color:#000000;
    }
    .selectTab:hover{
        background-color: #ffffff !important;
        border-right: solid 1px #e0e0de !important;
    }
    .selectTab:hover p{
        color: #000000 !important;
    }
    .tab_button:hover{
        background-color: #1e91e2;
        border-color:#1e91e2;
    }
    .tab_button:hover p{
        color: #ffffff;
    }

js代码(需要引入jquery)

$(".tab_button").on("click",function(){
        if($(".selectTab").length>0){
            $(".selectTab").removeClass("selectTab");
        }
        $(this).addClass("selectTab");
 })
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值